kernel: bump 5.4 to 5.4.238
authorHauke Mehrtens <hauke@hauke-m.de>
Mon, 27 Mar 2023 14:44:54 +0000 (16:44 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 29 Mar 2023 14:31:21 +0000 (16:31 +0200)
Compile-tested: armvirt/64, lantiq/xrx200
Run-tested: armvirt/64, lantiq/xrx200

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
88 files changed:
include/kernel-5.4
target/linux/apm821xx/patches-5.4/111-crypto-crypto4xx-reduce-memory-fragmentation.patch
target/linux/bcm27xx/patches-5.4/950-0030-lan78xx-Enable-LEDs-and-auto-negotiation.patch
target/linux/bcm27xx/patches-5.4/950-0111-lan78xx-Read-initial-EEE-status-from-DT.patch
target/linux/bcm27xx/patches-5.4/950-0117-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch
target/linux/bcm27xx/patches-5.4/950-0118-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch
target/linux/bcm27xx/patches-5.4/950-0132-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch
target/linux/bcm27xx/patches-5.4/950-0137-lan78xx-EEE-support-is-now-a-PHY-property.patch
target/linux/bcm27xx/patches-5.4/950-0145-lan78xx-use-default-alignment-for-rx-buffers.patch
target/linux/bcm27xx/patches-5.4/950-0208-bcmgenet-Better-coalescing-parameter-defaults.patch
target/linux/bcm27xx/patches-5.4/950-0280-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
target/linux/bcm27xx/patches-5.4/950-0292-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch
target/linux/bcm27xx/patches-5.4/950-0313-kbuild-Allow-.dtbo-overlays-to-be-built-piecemeal.patch
target/linux/bcm27xx/patches-5.4/950-0336-drm-v3d-The-third-IRQ-is-optional.patch
target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch
target/linux/bcm27xx/patches-5.4/950-0454-Kbuild-Allow-.dtbo-overlays-to-be-built-adjust.patch
target/linux/bcm27xx/patches-5.4/950-0461-drm-fourcc-Add-packed-10bit-YUV-4-2-0-format.patch
target/linux/bcm27xx/patches-5.4/950-0973-net-bcmgenet-Reset-RBUF-on-first-open.patch
target/linux/bcm27xx/patches-5.4/950-1031-net-lan78xx-Ack-pending-PHY-ints-when-resetting.patch
target/linux/generic/backport-5.4/011-kbuild-export-SUBARCH.patch
target/linux/generic/backport-5.4/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch
target/linux/generic/backport-5.4/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch
target/linux/generic/backport-5.4/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch
target/linux/generic/backport-5.4/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch
target/linux/generic/backport-5.4/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch
target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch
target/linux/generic/hack-5.4/221-module_exports.patch
target/linux/generic/hack-5.4/721-phy_packets.patch
target/linux/generic/hack-5.4/902-debloat_proc.patch
target/linux/generic/pending-5.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch
target/linux/generic/pending-5.4/641-netfilter-nf_flow_table-support-hw-offload-through-v.patch
target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
target/linux/ipq40xx/patches-5.4/703-net-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch
target/linux/lantiq/patches-5.4/0152-lantiq-VPE.patch
target/linux/lantiq/patches-5.4/0155-lantiq-VPE-nosmp.patch
target/linux/lantiq/patches-5.4/0320-v6.1-MIPS-lantiq-enable-all-hardware-interrupts-on-second.patch
target/linux/layerscape/patches-5.4/303-core-0008-ENGR00279980-ubi-attach-do-not-return-EINVAL-if-the-.patch
target/linux/layerscape/patches-5.4/801-audio-0001-Revert-ASoC-fsl_sai-Fix-noise-when-using-EDMA.patch
target/linux/layerscape/patches-5.4/801-audio-0002-Revert-ASoC-fsl_sai-Implement-set_bclk_ratio.patch
target/linux/layerscape/patches-5.4/801-audio-0003-Revert-ASoC-fsl_sai-Add-support-for-imx8qm.patch
target/linux/layerscape/patches-5.4/801-audio-0004-Revert-ASoC-fsl_sai-Add-support-for-imx7ulp-imx8mq.patch
target/linux/layerscape/patches-5.4/801-audio-0005-Revert-ASoC-fsl_sai-Add-support-for-SAI-new-version.patch
target/linux/layerscape/patches-5.4/801-audio-0006-Revert-ASoC-fsl_sai-Update-Tx-Rx-channel-enable-mask.patch
target/linux/layerscape/patches-5.4/801-audio-0007-Revert-ASoC-fsl_sai-Add-registers-definition-for-mul.patch
target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch
target/linux/layerscape/patches-5.4/801-audio-0009-Revert-ASoC-fsl_sai-mark-regmap-as-fast_io.patch
target/linux/layerscape/patches-5.4/801-audio-0010-Revert-ASoC-fsl_sai-derive-TX-FIFO-watermark-from-FI.patch
target/linux/layerscape/patches-5.4/801-audio-0011-Revert-ASoC-fsl_sai-add-of_match-data.patch
target/linux/layerscape/patches-5.4/801-audio-0012-MLK-9974-ASoC-fsl_sai-There-is-underrun-detected-in-.patch
target/linux/layerscape/patches-5.4/801-audio-0013-MLK-10611-1-ASoC-fsl-sai-Just-one-device-can-playbac.patch
target/linux/layerscape/patches-5.4/801-audio-0014-MLK-11628-ASoC-fsl_sai-add-initial-value-for-is_slav.patch
target/linux/layerscape/patches-5.4/801-audio-0015-ASoC-fsl-sai-set-xCR4-xCR5-xMR-for-SAI-master-mode.patch
target/linux/layerscape/patches-5.4/801-audio-0017-MLK-12786-2-ASoC-fsl_sai-correct-the-clock-source-fo.patch
target/linux/layerscape/patches-5.4/801-audio-0018-MLK-13574-2-ASoC-fsl_sai-refine-driver-for-ip-upgrad.patch
target/linux/layerscape/patches-5.4/801-audio-0019-MLK-13609-ASoC-fsl_sai-fix-for-synchronize-mode.patch
target/linux/layerscape/patches-5.4/801-audio-0020-ASoC-fsl_-e-sai-introduce-shared-interrupt-DT-flag-p.patch
target/linux/layerscape/patches-5.4/801-audio-0021-ASoC-fsl_sai-handle-slave-mode-per-TX-RX-direction.patch
target/linux/layerscape/patches-5.4/801-audio-0022-ASoC-fsl_sai-set-specific-fmt-for-I2S-XTOR.patch
target/linux/layerscape/patches-5.4/801-audio-0024-MLK-14847-Revert-ASoC-fsl-sai-set-xCR4-xCR5-xMR-for-.patch
target/linux/layerscape/patches-5.4/801-audio-0026-MLK-14935-ASoC-fsl_sai-Fix-mixing-initialization-dat.patch
target/linux/layerscape/patches-5.4/801-audio-0027-MLK-15140-1-ASoC-fsl_sai-support-latest-sai-module.patch
target/linux/layerscape/patches-5.4/801-audio-0028-MLK-15927-1-ASoC-fsl_sai-Fix-noise-when-using-EDMA.patch
target/linux/layerscape/patches-5.4/801-audio-0029-MLK-15960-1-ASoC-fsl_sai-update-fifo_depth-for-diffe.patch
target/linux/layerscape/patches-5.4/801-audio-0030-MLK-15960-2-ASoC-fsl_sai-refine-the-pm-runtime-funct.patch
target/linux/layerscape/patches-5.4/801-audio-0031-MLK-13975-ASoC-fsl_sai-Refine-master-flag-handling.patch
target/linux/layerscape/patches-5.4/801-audio-0032-MLK-16130-1-ASoC-fsl_sai-enable-TCE-RCE-according-to.patch
target/linux/layerscape/patches-5.4/801-audio-0033-MLK-13946-3-ASoC-fsl_sai-fix-the-xMR-setting.patch
target/linux/layerscape/patches-5.4/801-audio-0034-MLK-13946-8-ASoC-fsl_sai-use-min-channels-slots-for-.patch
target/linux/layerscape/patches-5.4/801-audio-0035-MLK-16929-1-ASoC-fsl_sai-add-bitclk_freq.patch
target/linux/layerscape/patches-5.4/801-audio-0037-MLK-16224-4-ASoC-fsl_sai-support-multi-fifo-and-DSD.patch
target/linux/layerscape/patches-5.4/805-display-0041-drm-fourcc-add-a-10bits-fully-packed-variant-of-NV12.patch
target/linux/layerscape/patches-5.4/819-uart-0001-tty-serial-lpuart-add-power-domain-support.patch
target/linux/layerscape/patches-5.4/819-uart-0002-tty-serial-fsl_lpuart-add-modem-device-reset.patch
target/linux/layerscape/patches-5.4/819-uart-0005-tty-serial-fsl_lpuart-enable-dma-mode-for-imx8qxp.patch
target/linux/layerscape/patches-5.4/819-uart-0008-MLK-21445-serial-fsl_lpuart-do-HW-reset-for-communic.patch
target/linux/layerscape/patches-5.4/819-uart-0009-MLK-17133-02-tty-serial-lpuart-add-runtime-pm-suppor.patch
target/linux/layerscape/patches-5.4/819-uart-0010-tty-serial-lpuart-enable-wakeup-source-for-lpuart.patch
target/linux/layerscape/patches-5.4/819-uart-0011-serial-fsl_lpuart-enable-two-stop-bits.patch
target/linux/layerscape/patches-5.4/819-uart-0013-LF-484-tty-serial-lpuart-support-UPIO_MEM32-for-lpua.patch
target/linux/mediatek/patches-5.4/0308-dts-mt7622-add-snand-support.patch
target/linux/mediatek/patches-5.4/0310-dts-add-wmac-support-for-mt7622-rfb1.patch
target/linux/mediatek/patches-5.4/0993-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch
target/linux/mediatek/patches-5.4/1011-net-ethernet-mtk_eth_soc-add-support-for-coherent-DM.patch
target/linux/mediatek/patches-5.4/1012-pci-pcie-mediatek-add-support-for-coherent-DMA.patch
target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch
target/linux/ramips/patches-5.4/0031-uvc-add-iPassion-iP2970-support.patch

index aabcbf24eec3c69c6a6f6ea5846363c34365a9c6..a31315270a85168057f7671faa6e7f8e75bd85c5 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-5.4 = .234
-LINUX_KERNEL_HASH-5.4.234 = acc79cb33f2e31bbd8267d4caa7e90bcc9ef5f1fdd060cd34117ad4dae950991
+LINUX_VERSION-5.4 = .238
+LINUX_KERNEL_HASH-5.4.238 = 70a2b2da85598eba6a73cdc0749e441cbdf3011d9babcb7028a46aa8d98aa91f
index 4d23b8816aa4e6c10bf12788ea6068454d0addc0..b9ddd48c22765ec636895db64df5e9ddf7c5e2a9 100644 (file)
@@ -68,7 +68,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
        for (i = 0; i < PPC4XX_NUM_SD; i++) {
                dev->sdr[i].ptr = dev->scatter_buffer_pa +
                                  PPC4XX_SD_BUFFER_SIZE * i;
-@@ -1439,16 +1440,15 @@ static int crypto4xx_probe(struct platfo
+@@ -1437,16 +1438,15 @@ static int crypto4xx_probe(struct platfo
        spin_lock_init(&core_dev->lock);
        INIT_LIST_HEAD(&core_dev->dev->alg_list);
        ratelimit_default_init(&core_dev->dev->aead_ratelimit);
@@ -89,7 +89,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
                goto err_build_sdr;
  
        /* Init tasklet for bottom half processing */
-@@ -1493,7 +1493,6 @@ err_iomap:
+@@ -1491,7 +1491,6 @@ err_iomap:
  err_build_sdr:
        crypto4xx_destroy_sdr(core_dev->dev);
        crypto4xx_destroy_gdr(core_dev->dev);
index 1964988c75b6e2860ffdc528e77ec750fdc13c8d..0e7c0c83b10555bc770ea2fb0e9f91ea1ee3181c 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/net/usb/lan78xx.c
 +++ b/drivers/net/usb/lan78xx.c
-@@ -2471,6 +2471,11 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2435,6 +2435,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_;
-@@ -2524,6 +2529,9 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2488,6 +2493,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);
-@@ -2579,6 +2587,9 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2543,6 +2551,9 @@ static int lan78xx_reset(struct lan78xx_
                        buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_;
                }
        }
index 796ec2fe8fd033f75924059e0999d4c3f33b366a..cebdb38afbe1c728abe6f1776ae5de3c1a6a7350 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/net/usb/lan78xx.c
 +++ b/drivers/net/usb/lan78xx.c
-@@ -2653,6 +2653,22 @@ static int lan78xx_open(struct net_devic
+@@ -2617,6 +2617,22 @@ static int lan78xx_open(struct net_devic
  
        netif_dbg(dev, ifup, dev->net, "phy initialised successfully");
  
index 53105698384aa61fa0982929953bd4e6d9dd12c6..9cc52f0934f51b16a4901e5a4104496afcb13648 100644 (file)
@@ -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);
-@@ -2935,8 +2944,14 @@ static int lan78xx_bind(struct lan78xx_n
+@@ -2899,8 +2908,14 @@ static int lan78xx_bind(struct lan78xx_n
        if (DEFAULT_RX_CSUM_ENABLE)
                dev->net->features |= NETIF_F_RXCSUM;
  
index 7b931de951aa61ea68deeebb62405367096bdc0e..95877137db231b9f9fc1b26c0f7c74cd0fb4a310 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/net/usb/lan78xx.c
 +++ b/drivers/net/usb/lan78xx.c
-@@ -2185,6 +2185,22 @@ static int lan78xx_phy_init(struct lan78
+@@ -2153,6 +2153,22 @@ static int lan78xx_phy_init(struct lan78
        mii_adv_to_linkmode_adv_t(fc, mii_adv);
        linkmode_or(phydev->advertising, fc, phydev->advertising);
  
@@ -39,7 +39,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
        if (phydev->mdio.dev.of_node) {
                u32 reg;
                int len;
-@@ -2662,22 +2678,6 @@ static int lan78xx_open(struct net_devic
+@@ -2626,22 +2642,6 @@ static int lan78xx_open(struct net_devic
  
        netif_dbg(dev, ifup, dev->net, "phy initialised successfully");
  
index fe073c66df1d00221d692e1fccba1a46c56a7180..78b6894f2403b3af5454c1b1740ffd51374490bf 100644 (file)
@@ -27,7 +27,7 @@ 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);
-@@ -3778,7 +3783,12 @@ static int lan78xx_probe(struct usb_inte
+@@ -3742,7 +3747,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);
  
index 719264994e9536eb1833cc8f3f94111bdf3524a9..d90fec9808e839986139854a722e4ea7073ef688 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/net/usb/lan78xx.c
 +++ b/drivers/net/usb/lan78xx.c
-@@ -2190,7 +2190,7 @@ static int lan78xx_phy_init(struct lan78
+@@ -2158,7 +2158,7 @@ static int lan78xx_phy_init(struct lan78
        mii_adv_to_linkmode_adv_t(fc, mii_adv);
        linkmode_or(phydev->advertising, fc, phydev->advertising);
  
index 6784c906e2351b93b0a59750b0785e9815906f0b..79882c4122eb3177885079c0c9bc803bc23756ac 100644 (file)
@@ -12,7 +12,7 @@ in both dwc_otg and in ipv6 processing.
 
 --- a/drivers/net/usb/lan78xx.c
 +++ b/drivers/net/usb/lan78xx.c
-@@ -3179,7 +3179,7 @@ static int rx_submit(struct lan78xx_net
+@@ -3143,7 +3143,7 @@ static int rx_submit(struct lan78xx_net
        size_t size = dev->rx_urb_size;
        int ret = 0;
  
index a52331dff937776b1c044542d83cc6a765290603..796f7dfe0a51ee8d6ea5f85a6e50d4c99d4c54c6 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
 +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -2157,7 +2157,7 @@ static void bcmgenet_init_tx_ring(struct
+@@ -2165,7 +2165,7 @@ static void bcmgenet_init_tx_ring(struct
  
        bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX);
        bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX);
@@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
        /* Disable rate control for now */
        bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
                                  TDMA_FLOW_PERIOD);
-@@ -3583,9 +3583,12 @@ static int bcmgenet_probe(struct platfor
+@@ -3591,9 +3591,12 @@ static int bcmgenet_probe(struct platfor
        netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
  
        /* Set default coalescing parameters */
index 2f8d628d1e763c630f26b3a19776b6c07be92b5a..9d06e3c494c962765c64c202cd446f2f1e994788 100644 (file)
@@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
  #define USB_VENDOR_ID_BELKIN          0x050d
  #define USB_DEVICE_ID_FLIP_KVM                0x3201
  
-@@ -1270,6 +1273,9 @@
+@@ -1271,6 +1274,9 @@
  #define USB_VENDOR_ID_XAT     0x2505
  #define USB_DEVICE_ID_XAT_CSR 0x0220
  
index ebbc07e86d186007ac280b96e6948ba9eea5a788..c2627136c0f45cd7dc61a4160625a2a98092e31e 100644 (file)
@@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  static inline void bcmgenet_writel(u32 value, void __iomem *offset)
  {
        /* MIPS chips strapped for BE will automagically configure the
-@@ -2003,6 +2007,11 @@ static void reset_umac(struct bcmgenet_p
+@@ -2011,6 +2015,11 @@ static void reset_umac(struct bcmgenet_p
        bcmgenet_rbuf_ctrl_set(priv, 0);
        udelay(10);
  
index 7a9646689f1ec4e9b816a4b6aea6b94a5424d434..d72712eb8b5dde074525d03ff19bd40f84c5697a 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/Makefile
 +++ b/Makefile
-@@ -1274,6 +1274,9 @@ ifneq ($(dtstree),)
+@@ -1281,6 +1281,9 @@ ifneq ($(dtstree),)
  %.dtb: include/config/kernel.release scripts_dtc
        $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
  
index 50fc594e1e7bd3334ce60f32c9c279646fd17cf5..7d4b6bb4d9645105806b8520d99e03c6b93d2b27 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
 +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -3482,7 +3482,7 @@ static int bcmgenet_probe(struct platfor
+@@ -3490,7 +3490,7 @@ static int bcmgenet_probe(struct platfor
        priv = netdev_priv(dev);
        priv->irq0 = platform_get_irq(pdev, 0);
        priv->irq1 = platform_get_irq(pdev, 1);
index 08d0b1cb9a361ccd582914ce937fa331fe4f63e7..e515f331ee54ebad403dd0e57a9192aecc95e1a4 100644 (file)
@@ -382,7 +382,7 @@ Cc: linux-rockchip@lists.infradead.org
  
 --- a/drivers/pci/pci.h
 +++ b/drivers/pci/pci.h
-@@ -643,11 +643,15 @@ static inline void pci_release_bus_of_no
+@@ -634,11 +634,15 @@ static inline void pci_release_bus_of_no
  #if defined(CONFIG_OF_ADDRESS)
  int devm_of_pci_get_host_bridge_resources(struct device *dev,
                        unsigned char busno, unsigned char bus_max,
index d1b71a9cf881ca0dbadb87b9470575b776b46215..e61e6e4e13e575addac323d902c090fb5e1dd151 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Nataliya Korovkina <malus.brandywine@gmail.com>
 
 --- a/Makefile
 +++ b/Makefile
-@@ -1274,7 +1274,7 @@ ifneq ($(dtstree),)
+@@ -1281,7 +1281,7 @@ ifneq ($(dtstree),)
  %.dtb: include/config/kernel.release scripts_dtc
        $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
  
index ac4fe1698b240da92d4e23c557f8bc451a62b83b..6c9239c1ad3a712c591358765e4c08c39f420523 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
 
 --- a/drivers/gpu/drm/drm_fourcc.c
 +++ b/drivers/gpu/drm/drm_fourcc.c
-@@ -274,6 +274,9 @@ const struct drm_format_info *__drm_form
+@@ -278,6 +278,9 @@ const struct drm_format_info *__drm_form
                { .format = DRM_FORMAT_YUV420_10BIT,    .depth = 0,
                  .num_planes = 1, .cpp = { 0, 0, 0 }, .hsub = 2, .vsub = 2,
                  .is_yuv = true },
index 367eb9ef8d0cfc02d1b80f8d6418e29ebc7d1242..c66ce3c0a2eef879634d8c9edd4dcc470237aee2 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
 +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -2798,7 +2798,7 @@ static void bcmgenet_set_hw_addr(struct
+@@ -2806,7 +2806,7 @@ static void bcmgenet_set_hw_addr(struct
  }
  
  /* Returns a reusable dma control register value */
@@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
  {
        unsigned int i;
        u32 reg;
-@@ -2823,6 +2823,14 @@ static u32 bcmgenet_dma_disable(struct b
+@@ -2831,6 +2831,14 @@ static u32 bcmgenet_dma_disable(struct b
        udelay(10);
        bcmgenet_umac_writel(priv, 0, UMAC_TX_FLUSH);
  
@@ -48,7 +48,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
        return dma_ctrl;
  }
  
-@@ -2918,8 +2926,8 @@ static int bcmgenet_open(struct net_devi
+@@ -2926,8 +2934,8 @@ static int bcmgenet_open(struct net_devi
  
        bcmgenet_set_hw_addr(priv, dev->dev_addr);
  
@@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
  
        /* Reinitialize TDMA and RDMA and SW housekeeping */
        ret = bcmgenet_init_dma(priv);
-@@ -3674,7 +3682,7 @@ static int bcmgenet_resume(struct device
+@@ -3682,7 +3690,7 @@ static int bcmgenet_resume(struct device
                bcmgenet_power_up(priv, GENET_POWER_WOL_MAGIC);
  
        /* Disable RX/TX DMA and flush TX queues */
index f0d23f9be1acf1fdff3d8b3e71db4fd7b89423f7..3cb59fafd8f18cd217aec608729a148907120590 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/net/usb/lan78xx.c
 +++ b/drivers/net/usb/lan78xx.c
-@@ -1183,6 +1183,9 @@ static int lan78xx_link_reset(struct lan
+@@ -1179,6 +1179,9 @@ static int lan78xx_link_reset(struct lan
        if (unlikely(ret < 0))
                return -EIO;
  
index 60defa39c51f97dd4a48b06146e88e95b509c647..59f7a909c550ce30723f4bf8078c4de75064abb2 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/Makefile
 +++ b/Makefile
-@@ -493,7 +493,7 @@ KBUILD_LDFLAGS :=
+@@ -500,7 +500,7 @@ KBUILD_LDFLAGS :=
  GCC_PLUGINS_CFLAGS :=
  CLANG_FLAGS :=
  
index 02b5b575db078da8a05324a99ec3606c0074f5a6..34686f84a74c2e3729d0580d79de7ad634de1fb3 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -6326,15 +6326,10 @@ void netif_napi_del(struct napi_struct *
+@@ -6328,15 +6328,10 @@ void netif_napi_del(struct napi_struct *
  }
  EXPORT_SYMBOL(netif_napi_del);
  
@@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        weight = n->weight;
  
        /* This NAPI_STATE_SCHED test is for avoiding a race
-@@ -6352,7 +6347,7 @@ static int napi_poll(struct napi_struct
+@@ -6354,7 +6349,7 @@ static int napi_poll(struct napi_struct
        WARN_ON_ONCE(work > weight);
  
        if (likely(work < weight))
@@ -44,7 +44,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
        /* Drivers must not modify the NAPI state if they
         * consume the entire weight.  In such cases this code
-@@ -6361,7 +6356,7 @@ static int napi_poll(struct napi_struct
+@@ -6363,7 +6358,7 @@ static int napi_poll(struct napi_struct
         */
        if (unlikely(napi_disable_pending(n))) {
                napi_complete(n);
@@ -53,7 +53,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        }
  
        if (n->gro_bitmask) {
-@@ -6379,12 +6374,29 @@ static int napi_poll(struct napi_struct
+@@ -6381,12 +6376,29 @@ static int napi_poll(struct napi_struct
        if (unlikely(!list_empty(&n->poll_list))) {
                pr_warn_once("%s: Budget exhausted after napi rescheduled\n",
                             n->dev ? n->dev->name : "backlog");
index 1ece7cf1d3b27c78faa1da25b364f262efa35133..c8902409154315aa11cee7753b4391ca9eacdc71 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -347,6 +347,7 @@ struct napi_struct {
+@@ -349,6 +349,7 @@ struct napi_struct {
        struct list_head        dev_list;
        struct hlist_node       napi_hash_node;
        unsigned int            napi_id;
@@ -38,7 +38,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  };
  
  enum {
-@@ -357,6 +358,7 @@ enum {
+@@ -359,6 +360,7 @@ enum {
        NAPI_STATE_HASHED,      /* In NAPI hash (busy polling possible) */
        NAPI_STATE_NO_BUSY_POLL,/* Do not add in napi_hash, no busy polling */
        NAPI_STATE_IN_BUSY_POLL,/* sk_busy_loop() owns this NAPI */
@@ -46,7 +46,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  };
  
  enum {
-@@ -367,6 +369,7 @@ enum {
+@@ -369,6 +371,7 @@ enum {
        NAPIF_STATE_HASHED       = BIT(NAPI_STATE_HASHED),
        NAPIF_STATE_NO_BUSY_POLL = BIT(NAPI_STATE_NO_BUSY_POLL),
        NAPIF_STATE_IN_BUSY_POLL = BIT(NAPI_STATE_IN_BUSY_POLL),
@@ -54,7 +54,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  };
  
  enum gro_result {
-@@ -511,20 +514,7 @@ bool napi_hash_del(struct napi_struct *n
+@@ -513,20 +516,7 @@ bool napi_hash_del(struct napi_struct *n
   */
  void napi_disable(struct napi_struct *n);
  
@@ -76,7 +76,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
  /**
   *    napi_synchronize - wait until NAPI is not running
-@@ -1790,6 +1780,8 @@ enum netdev_ml_priv_type {
+@@ -1792,6 +1782,8 @@ enum netdev_ml_priv_type {
   *
   *    @wol_enabled:   Wake-on-LAN is enabled
   *
@@ -85,7 +85,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
   *    FIXME: cleanup struct net_device such that network protocol info
   *    moves out.
   */
-@@ -2082,6 +2074,7 @@ struct net_device {
+@@ -2084,6 +2076,7 @@ struct net_device {
        struct lock_class_key   addr_list_lock_key;
        bool                    proto_down;
        unsigned                wol_enabled:1;
@@ -131,7 +131,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  static int __dev_open(struct net_device *dev, struct netlink_ext_ack *extack)
  {
        const struct net_device_ops *ops = dev->netdev_ops;
-@@ -3889,6 +3911,21 @@ int gro_normal_batch __read_mostly = 8;
+@@ -3891,6 +3913,21 @@ int gro_normal_batch __read_mostly = 8;
  static inline void ____napi_schedule(struct softnet_data *sd,
                                     struct napi_struct *napi)
  {
@@ -153,7 +153,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        list_add_tail(&napi->poll_list, &sd->poll_list);
        __raise_softirq_irqoff(NET_RX_SOFTIRQ);
  }
-@@ -6280,6 +6317,12 @@ void netif_napi_add(struct net_device *d
+@@ -6282,6 +6319,12 @@ void netif_napi_add(struct net_device *d
        set_bit(NAPI_STATE_NPSVC, &napi->state);
        list_add_rcu(&napi->dev_list, &dev->napi_list);
        napi_hash_add(napi);
@@ -166,7 +166,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  }
  EXPORT_SYMBOL(netif_napi_add);
  
-@@ -6296,9 +6339,28 @@ void napi_disable(struct napi_struct *n)
+@@ -6298,9 +6341,28 @@ void napi_disable(struct napi_struct *n)
        hrtimer_cancel(&n->timer);
  
        clear_bit(NAPI_STATE_DISABLE, &n->state);
@@ -195,7 +195,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  static void flush_gro_hash(struct napi_struct *napi)
  {
        int i;
-@@ -6323,6 +6385,11 @@ void netif_napi_del(struct napi_struct *
+@@ -6325,6 +6387,11 @@ void netif_napi_del(struct napi_struct *
  
        flush_gro_hash(napi);
        napi->gro_bitmask = 0;
@@ -207,7 +207,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  }
  EXPORT_SYMBOL(netif_napi_del);
  
-@@ -6402,6 +6469,51 @@ static int napi_poll(struct napi_struct
+@@ -6404,6 +6471,51 @@ static int napi_poll(struct napi_struct
        return work;
  }
  
index 93a8559fa6d5df5ed8bff62d2bf21a22235058ba..05c40a91d5098a7b4662ff002c601c9e85486a55 100644 (file)
@@ -46,7 +46,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 +              == ==================================
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -505,6 +505,8 @@ static inline bool napi_complete(struct
+@@ -507,6 +507,8 @@ static inline bool napi_complete(struct
   */
  bool napi_hash_del(struct napi_struct *napi);
  
@@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
   *    @n: NAPI context
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -3915,8 +3915,9 @@ static inline void ____napi_schedule(str
+@@ -3917,8 +3917,9 @@ static inline void ____napi_schedule(str
  
        if (test_bit(NAPI_STATE_THREADED, &napi->state)) {
                /* Paired with smp_mb__before_atomic() in
@@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                 * wake_up_process() when it's not NULL.
                 */
                thread = READ_ONCE(napi->thread);
-@@ -6294,6 +6295,49 @@ static void init_gro_hash(struct napi_st
+@@ -6296,6 +6297,49 @@ static void init_gro_hash(struct napi_st
        napi->gro_bitmask = 0;
  }
  
index 30a795df59d2cd2830bdafebd40215a586de70f0..103ed5713bb2dc07adf0588fc5e761d8cf7ebe2a 100644 (file)
@@ -27,7 +27,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -359,6 +359,7 @@ enum {
+@@ -361,6 +361,7 @@ enum {
        NAPI_STATE_NO_BUSY_POLL,/* Do not add in napi_hash, no busy polling */
        NAPI_STATE_IN_BUSY_POLL,/* sk_busy_loop() owns this NAPI */
        NAPI_STATE_THREADED,            /* The poll is performed inside its own thread*/
@@ -35,7 +35,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
  };
  
  enum {
-@@ -370,6 +371,7 @@ enum {
+@@ -372,6 +373,7 @@ enum {
        NAPIF_STATE_NO_BUSY_POLL = BIT(NAPI_STATE_NO_BUSY_POLL),
        NAPIF_STATE_IN_BUSY_POLL = BIT(NAPI_STATE_IN_BUSY_POLL),
        NAPIF_STATE_THREADED     = BIT(NAPI_STATE_THREADED),
@@ -45,7 +45,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
  enum gro_result {
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -3922,6 +3922,8 @@ static inline void ____napi_schedule(str
+@@ -3924,6 +3924,8 @@ static inline void ____napi_schedule(str
                 */
                thread = READ_ONCE(napi->thread);
                if (thread) {
@@ -54,7 +54,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
                        wake_up_process(thread);
                        return;
                }
-@@ -6082,7 +6084,8 @@ bool napi_complete_done(struct napi_stru
+@@ -6084,7 +6086,8 @@ bool napi_complete_done(struct napi_stru
  
                WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED));
  
@@ -64,7 +64,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
  
                /* If STATE_MISSED was set, leave STATE_SCHED set,
                 * because we will call napi->poll() one more time.
-@@ -6515,16 +6518,25 @@ static int napi_poll(struct napi_struct
+@@ -6517,16 +6520,25 @@ static int napi_poll(struct napi_struct
  
  static int napi_thread_wait(struct napi_struct *napi)
  {
index a60763db60e61f34e6bce6fd8c50dc2918d96d7c..a02597329bdb1715c20b2443feb532a8d42e6bb6 100644 (file)
@@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -6522,7 +6522,7 @@ static int napi_thread_wait(struct napi_
+@@ -6524,7 +6524,7 @@ static int napi_thread_wait(struct napi_
  
        set_current_state(TASK_INTERRUPTIBLE);
  
@@ -43,7 +43,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                /* Testing SCHED_THREADED bit here to make sure the current
                 * kthread owns this napi and could poll on this napi.
                 * Testing SCHED bit is not enough because SCHED bit might be
-@@ -6540,6 +6540,7 @@ static int napi_thread_wait(struct napi_
+@@ -6542,6 +6542,7 @@ static int napi_thread_wait(struct napi_
                set_current_state(TASK_INTERRUPTIBLE);
        }
        __set_current_state(TASK_RUNNING);
index aeb22f5a0a5b804747c1814ff2310d06bf5c5ed3..b063efb859d45f8dc8c5fc0eeb6103b7f7cc6540 100644 (file)
@@ -66,7 +66,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -5476,8 +5476,7 @@ static inline void skb_gro_reset_offset(
+@@ -5478,8 +5478,7 @@ static inline void skb_gro_reset_offset(
        NAPI_GRO_CB(skb)->frag0 = NULL;
        NAPI_GRO_CB(skb)->frag0_len = 0;
  
index 446bf53008ce1bd66d89bee4de7ee8730a2c6f9f..e8b775e2a90e63f185d0b91742e6b5d776353d96 100644 (file)
@@ -56,9 +56,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        }                                                               \
                                                                        \
        /* __*init sections */                                          \
-@@ -905,6 +915,8 @@
-       EXIT_TEXT                                                       \
-       EXIT_DATA                                                       \
+@@ -917,6 +927,8 @@
+       /DISCARD/ : {                                                   \
+       EXIT_DISCARDS                                                   \
        EXIT_CALL                                                       \
 +      SYMTAB_DISCARD                                                  \
 +      SYMTAB_DISCARD_GPL                                              \
index 9dfeaa27fac7577aec1a91c7c722e85cf26f9da7..3df66bc4df3f59301f75919b8d0169fdb4fb0460 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -1547,6 +1547,7 @@ enum netdev_priv_flags {
+@@ -1549,6 +1549,7 @@ enum netdev_priv_flags {
        IFF_FAILOVER_SLAVE              = 1<<28,
        IFF_L3MDEV_RX_HANDLER           = 1<<29,
        IFF_LIVE_RENAME_OK              = 1<<30,
@@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  };
  
  #define IFF_802_1Q_VLAN                       IFF_802_1Q_VLAN
-@@ -1579,6 +1580,7 @@ enum netdev_priv_flags {
+@@ -1581,6 +1582,7 @@ enum netdev_priv_flags {
  #define IFF_FAILOVER_SLAVE            IFF_FAILOVER_SLAVE
  #define IFF_L3MDEV_RX_HANDLER         IFF_L3MDEV_RX_HANDLER
  #define IFF_LIVE_RENAME_OK            IFF_LIVE_RENAME_OK
@@ -31,7 +31,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  /* Specifies the type of the struct net_device::ml_priv pointer */
  enum netdev_ml_priv_type {
-@@ -1889,6 +1891,11 @@ struct net_device {
+@@ -1891,6 +1893,11 @@ struct net_device {
        const struct tlsdev_ops *tlsdev_ops;
  #endif
  
@@ -43,7 +43,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        const struct header_ops *header_ops;
  
        unsigned int            flags;
-@@ -1971,6 +1978,10 @@ struct net_device {
+@@ -1973,6 +1980,10 @@ struct net_device {
        struct mpls_dev __rcu   *mpls_ptr;
  #endif
  
@@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        help
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -3221,10 +3221,20 @@ static int xmit_one(struct sk_buff *skb,
+@@ -3223,10 +3223,20 @@ static int xmit_one(struct sk_buff *skb,
        if (dev_nit_active(dev))
                dev_queue_xmit_nit(skb, dev);
  
index afde1e88df446a29d3de1bad88940202a9b6474f..44423db0d87f2c8b8eeb0ac5b3dbb43f304cd7df 100644 (file)
@@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -3641,6 +3641,8 @@ static __net_initdata struct pernet_oper
+@@ -3657,6 +3657,8 @@ static __net_initdata struct pernet_oper
  
  static int __init proto_init(void)
  {
index c670010989fb1c1cd0af09538f240143dfd4f9e5..b21daea4f0c1bbdf9bd8882be3184806020f8a57 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/mtd/ubi/build.c
 +++ b/drivers/mtd/ubi/build.c
-@@ -1161,6 +1161,73 @@ static struct mtd_info * __init open_mtd
+@@ -1168,6 +1168,73 @@ static struct mtd_info * __init open_mtd
        return mtd;
  }
  
@@ -82,7 +82,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static int __init ubi_init(void)
  {
        int err, i, k;
-@@ -1244,6 +1311,12 @@ static int __init ubi_init(void)
+@@ -1251,6 +1318,12 @@ static int __init ubi_init(void)
                }
        }
  
index 5767b41a260736548965a0a57f94e0d56b694d06..88d2cb10ad9028cebe8d1728e1a520c60991cb15 100644 (file)
@@ -23,7 +23,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -929,6 +929,13 @@ struct devlink;
+@@ -931,6 +931,13 @@ struct devlink;
  struct tlsdev_ops;
  
  
@@ -37,7 +37,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  /*
   * This structure defines the management hooks for network devices.
   * The following hooks can be defined; unless noted otherwise, they are
-@@ -1161,6 +1168,10 @@ struct tlsdev_ops;
+@@ -1163,6 +1170,10 @@ struct tlsdev_ops;
   * int (*ndo_bridge_dellink)(struct net_device *dev, struct nlmsghdr *nlh,
   *                         u16 flags);
   *
@@ -48,7 +48,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
   * int (*ndo_change_carrier)(struct net_device *dev, bool new_carrier);
   *    Called to change device carrier. Soft-devices (like dummy, team, etc)
   *    which do not represent real hardware may define this to allow their
-@@ -1408,6 +1419,8 @@ struct net_device_ops {
+@@ -1410,6 +1421,8 @@ struct net_device_ops {
        int                     (*ndo_bridge_dellink)(struct net_device *dev,
                                                      struct nlmsghdr *nlh,
                                                      u16 flags);
index 7cb79f70e28241b571d8084cbe7349cad825e403..d766ca91407321b1ccc1544594c9c4419b19551f 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -930,6 +930,7 @@ struct tlsdev_ops;
+@@ -932,6 +932,7 @@ struct tlsdev_ops;
  
  
  struct flow_offload;
@@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  enum flow_offload_type {
        FLOW_OFFLOAD_ADD        = 0,
-@@ -1168,8 +1169,15 @@ enum flow_offload_type {
+@@ -1170,8 +1171,15 @@ enum flow_offload_type {
   * int (*ndo_bridge_dellink)(struct net_device *dev, struct nlmsghdr *nlh,
   *                         u16 flags);
   *
@@ -40,7 +40,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
   *    Adds/deletes flow entry to/from net device flowtable.
   *
   * int (*ndo_change_carrier)(struct net_device *dev, bool new_carrier);
-@@ -1419,8 +1427,11 @@ struct net_device_ops {
+@@ -1421,8 +1429,11 @@ struct net_device_ops {
        int                     (*ndo_bridge_dellink)(struct net_device *dev,
                                                      struct nlmsghdr *nlh,
                                                      u16 flags);
index f46dc94c5af57611d5c70f3b480b542809460427..96aa2fd8fc650e19b576d83148540dc23e48dddb 100644 (file)
@@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                cfg->fc_flags |= RTF_REJECT;
  
        if (rtm->rtm_type == RTN_LOCAL)
-@@ -6091,6 +6122,8 @@ static int ip6_route_dev_notify(struct n
+@@ -6092,6 +6123,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
-@@ -6102,6 +6135,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6103,6 +6136,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
        }
-@@ -6294,6 +6328,8 @@ static int __net_init ip6_route_net_init
+@@ -6295,6 +6329,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);
-@@ -6304,11 +6340,21 @@ static int __net_init ip6_route_net_init
+@@ -6305,11 +6341,21 @@ static int __net_init ip6_route_net_init
                         ip6_template_metrics, true);
        INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_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);
-@@ -6332,6 +6378,8 @@ out:
+@@ -6333,6 +6379,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:
-@@ -6351,6 +6399,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6352,6 +6400,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);
-@@ -6434,6 +6483,9 @@ void __init ip6_route_init_special_entri
+@@ -6435,6 +6484,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);
index 614ac76f233dca1d629ada412a91fad37cf38152..bec6787dc828d72611af85883a8e939d3ec0d38d 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -1934,6 +1934,8 @@ struct net_device {
+@@ -1936,6 +1936,8 @@ struct net_device {
        struct netdev_hw_addr_list      mc;
        struct netdev_hw_addr_list      dev_addrs;
  
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        __u16                   tc_index;       /* traffic control index */
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -5542,6 +5542,9 @@ static enum gro_result dev_gro_receive(s
+@@ -5544,6 +5544,9 @@ static enum gro_result dev_gro_receive(s
        int same_flow;
        int grow;
  
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (netif_elide_gro(skb->dev))
                goto normal;
  
-@@ -7485,6 +7488,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -7487,6 +7490,48 @@ static void __netdev_adjacent_dev_unlink
                                           &upper_dev->adj_list.lower);
  }
  
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static int __netdev_upper_dev_link(struct net_device *dev,
                                   struct net_device *upper_dev, bool master,
                                   void *upper_priv, void *upper_info,
-@@ -7535,6 +7580,7 @@ static int __netdev_upper_dev_link(struc
+@@ -7537,6 +7582,7 @@ static int __netdev_upper_dev_link(struc
        if (ret)
                return ret;
  
@@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
                                            &changeupper_info.info);
        ret = notifier_to_errno(ret);
-@@ -7628,6 +7674,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -7630,6 +7676,7 @@ void netdev_upper_dev_unlink(struct net_
  
        __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
  
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
                                      &changeupper_info.info);
  
-@@ -8358,6 +8405,7 @@ int dev_set_mac_address(struct net_devic
+@@ -8360,6 +8407,7 @@ int dev_set_mac_address(struct net_devic
        if (err)
                return err;
        dev->addr_assign_type = NET_ADDR_SET;
index 5b600c29f20bc82c925874f7b8ff8bd7cf365892..167673bd1102dded7633ad2b0a4d33f4d4e9449c 100644 (file)
@@ -24,7 +24,7 @@ Reviewed-by: Grant Grundler <grundler@chromium.org>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -774,6 +774,16 @@ struct xps_map {
+@@ -776,6 +776,16 @@ struct xps_map {
  #define XPS_MIN_MAP_ALLOC ((L1_CACHE_ALIGN(offsetof(struct xps_map, queues[1])) \
         - sizeof(struct xps_map)) / sizeof(u16))
  
@@ -41,7 +41,7 @@ Reviewed-by: Grant Grundler <grundler@chromium.org>
  /*
   * This structure holds all XPS maps for device.  Maps are indexed by CPU.
   */
-@@ -1377,6 +1387,9 @@ struct net_device_ops {
+@@ -1379,6 +1389,9 @@ struct net_device_ops {
                                                     const struct sk_buff *skb,
                                                     u16 rxq_index,
                                                     u32 flow_id);
index 8a6996bd4d28b4b9da4529f54ad8be42a6b24d21..4f5c18b0372dedbc060887d8c652850f291e1ff6 100644 (file)
@@ -15,7 +15,7 @@
        default "y"
 --- a/arch/mips/include/asm/vpe.h
 +++ b/arch/mips/include/asm/vpe.h
-@@ -127,4 +127,13 @@ void cleanup_tc(struct tc *tc);
+@@ -126,4 +126,13 @@ void cleanup_tc(struct tc *tc);
  
  int __init vpe_module_init(void);
  void __exit vpe_module_exit(void);
  #endif /* _ASM_VPE_H */
 --- a/arch/mips/kernel/vpe-mt.c
 +++ b/arch/mips/kernel/vpe-mt.c
-@@ -29,6 +29,7 @@ int vpe_run(struct vpe *v)
-       struct vpe_notifications *notifier;
-       unsigned int vpeflags;
-       struct tc *t;
-+      unsigned long physical_memsize = 0L;
-       /* check we are the Master VPE */
-       local_irq_save(flags);
-@@ -416,6 +417,8 @@ int __init vpe_module_init(void)
+@@ -415,6 +415,8 @@ int __init vpe_module_init(void)
                        }
  
                        v->ntcs = hw_tcs - aprp_cpu_index();
@@ -48,7 +40,7 @@
  
                        /* add the tc to the list of this vpe's tc's. */
                        list_add(&t->tc, &v->tc);
-@@ -519,3 +522,47 @@ void __exit vpe_module_exit(void)
+@@ -518,3 +520,47 @@ void __exit vpe_module_exit(void)
                        release_vpe(v);
        }
  }
  {
 --- a/arch/mips/lantiq/prom.c
 +++ b/arch/mips/lantiq/prom.c
-@@ -34,10 +34,14 @@ unsigned long physical_memsize = 0L;
+@@ -28,10 +28,14 @@ EXPORT_SYMBOL_GPL(ebu_lock);
   */
  static struct ltq_soc_info soc_info;
  
index 898c2d482129903c8887d7c12166e37b03e846d2..2705723dda6c2d4f6a5e54d53fd0db975d3df91a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/kernel/vpe-mt.c
 +++ b/arch/mips/kernel/vpe-mt.c
-@@ -132,7 +132,10 @@ int vpe_run(struct vpe *v)
+@@ -130,7 +130,10 @@ int vpe_run(struct vpe *v)
         * kernels need to turn it on, even if that wasn't the pre-dvpe() state.
         */
  #ifdef CONFIG_SMP
index b7b95d6bfc8951c50d23cd32d7475787d9e1cf04..0bb1fefc5f640a042afbcabf6050d76708b9dd95 100644 (file)
@@ -39,7 +39,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
 
 --- a/arch/mips/lantiq/prom.c
 +++ b/arch/mips/lantiq/prom.c
-@@ -37,6 +37,14 @@ static struct ltq_soc_info soc_info;
+@@ -31,6 +31,14 @@ static struct ltq_soc_info soc_info;
  /* for Multithreading (APRP), vpe.c will use it */
  unsigned long cp0_memsize;
  
@@ -54,7 +54,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  const char *get_system_type(void)
  {
        return soc_info.sys_type;
-@@ -100,6 +108,17 @@ void __init device_tree_init(void)
+@@ -94,6 +102,17 @@ void __init device_tree_init(void)
        unflatten_and_copy_device_tree();
  }
  
@@ -72,7 +72,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  void __init prom_init(void)
  {
        /* call the soc specific detetcion code and get it to fill soc_info */
-@@ -111,7 +130,10 @@ void __init prom_init(void)
+@@ -105,7 +124,10 @@ void __init prom_init(void)
        prom_init_cmdline();
  
  #if defined(CONFIG_MIPS_MT_SMP)
index 8b6515c7594617e7944215611c1d7533c263a5ae..95b8ca5b6c5284f09a794eafaced92cdaa4cb3e4 100644 (file)
@@ -35,7 +35,7 @@ Signed-off-by: Han Xu <han.xu@nxp.com>
 
 --- a/drivers/mtd/ubi/build.c
 +++ b/drivers/mtd/ubi/build.c
-@@ -572,7 +572,7 @@ static int io_init(struct ubi_device *ub
+@@ -573,7 +573,7 @@ static int io_init(struct ubi_device *ub
        dbg_gen("sizeof(struct ubi_ainf_peb) %zu", sizeof(struct ubi_ainf_peb));
        dbg_gen("sizeof(struct ubi_wl_entry) %zu", sizeof(struct ubi_wl_entry));
  
index 98c9214eaf564db868f30e91d735bc86ff919801..6328ea00cdbd1e82f42e776b5f7086f5a609458b 100644 (file)
@@ -11,7 +11,7 @@ This reverts commit e75f4940e8ad0dd76527302a10c06b58bf7eb590.
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -628,16 +628,6 @@ static int fsl_sai_startup(struct snd_pc
+@@ -629,16 +629,6 @@ static int fsl_sai_startup(struct snd_pc
                           FSL_SAI_CR3_TRCE_MASK,
                           FSL_SAI_CR3_TRCE);
  
@@ -28,7 +28,7 @@ This reverts commit e75f4940e8ad0dd76527302a10c06b58bf7eb590.
        ret = snd_pcm_hw_constraint_list(substream->runtime, 0,
                        SNDRV_PCM_HW_PARAM_RATE, &fsl_sai_rate_constraints);
  
-@@ -1052,35 +1042,30 @@ static int fsl_sai_remove(struct platfor
+@@ -1053,35 +1043,30 @@ static int fsl_sai_remove(struct platfor
  
  static const struct fsl_sai_soc_data fsl_sai_vf610_data = {
        .use_imx_pcm = false,
index 60e3e3e853525ceed1fed6d88e131137127efa2e..7771134276b797a72b1316748ed38cc8a46cfb2b 100644 (file)
@@ -28,7 +28,7 @@ This reverts commit 63d1a3488ff58e094a7f517cf93c0250f0a3f6be.
  static int fsl_sai_set_dai_sysclk_tr(struct snd_soc_dai *cpu_dai,
                int clk_id, unsigned int freq, int fsl_dir)
  {
-@@ -433,14 +423,8 @@ static int fsl_sai_hw_params(struct snd_
+@@ -434,14 +424,8 @@ static int fsl_sai_hw_params(struct snd_
                slot_width = sai->slot_width;
  
        if (!sai->is_slave_mode) {
@@ -45,7 +45,7 @@ This reverts commit 63d1a3488ff58e094a7f517cf93c0250f0a3f6be.
                if (ret)
                        return ret;
  
-@@ -646,7 +630,6 @@ static void fsl_sai_shutdown(struct snd_
+@@ -647,7 +631,6 @@ static void fsl_sai_shutdown(struct snd_
  }
  
  static const struct snd_soc_dai_ops fsl_sai_pcm_dai_ops = {
index 1fe6c649dc61030494ad5522080e83c8bbd58772..3f0d4ccdb41c6d8626e64ea390525b1e060f64b2 100644 (file)
@@ -10,7 +10,7 @@ This reverts commit 6eeb60be5ebb73b2e5911e26fb1aed02940b7d09.
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -1047,19 +1047,12 @@ static const struct fsl_sai_soc_data fsl
+@@ -1048,19 +1048,12 @@ static const struct fsl_sai_soc_data fsl
        .reg_offset = 8,
  };
  
index f08d8e0e38db284570a62285429811e2361b8317..e73be4c229b357090024caedf52025b2d771c8f6 100644 (file)
@@ -10,7 +10,7 @@ This reverts commit a860fac420971c5a90d4f78959b44ead793aee4f.
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -1035,24 +1035,10 @@ static const struct fsl_sai_soc_data fsl
+@@ -1036,24 +1036,10 @@ static const struct fsl_sai_soc_data fsl
        .reg_offset = 0,
  };
  
index d685119e0417b163bf5d3b0c63217d23e49b8c03..87b74f17dcf04ce0f689979f963f8f2fe870ff43 100644 (file)
@@ -76,7 +76,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
        bool tx = fsl_dir == FSL_FMT_TRANSMITTER;
        u32 val_cr2 = 0, val_cr4 = 0;
  
-@@ -290,9 +287,9 @@ static int fsl_sai_set_dai_fmt_tr(struct
+@@ -291,9 +288,9 @@ static int fsl_sai_set_dai_fmt_tr(struct
                return -EINVAL;
        }
  
@@ -88,7 +88,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
                           FSL_SAI_CR4_MF | FSL_SAI_CR4_FSE |
                           FSL_SAI_CR4_FSP | FSL_SAI_CR4_FSD_MSTR, val_cr4);
  
-@@ -319,7 +316,6 @@ static int fsl_sai_set_dai_fmt(struct sn
+@@ -320,7 +317,6 @@ static int fsl_sai_set_dai_fmt(struct sn
  static int fsl_sai_set_bclk(struct snd_soc_dai *dai, bool tx, u32 freq)
  {
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(dai);
@@ -96,7 +96,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
        unsigned long clk_rate;
        u32 savediv = 0, ratio, savesub = freq;
        u32 id;
-@@ -382,17 +378,17 @@ static int fsl_sai_set_bclk(struct snd_s
+@@ -383,17 +379,17 @@ static int fsl_sai_set_bclk(struct snd_s
         */
        if ((sai->synchronous[TX] && !sai->synchronous[RX]) ||
            (!tx && !sai->synchronous[RX])) {
@@ -118,7 +118,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
                                   FSL_SAI_CR2_DIV_MASK, savediv - 1);
        }
  
-@@ -407,7 +403,6 @@ static int fsl_sai_hw_params(struct snd_
+@@ -408,7 +404,6 @@ static int fsl_sai_hw_params(struct snd_
                struct snd_soc_dai *cpu_dai)
  {
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
@@ -126,7 +126,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
        bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
        unsigned int channels = params_channels(params);
        u32 word_width = params_width(params);
-@@ -460,19 +455,19 @@ static int fsl_sai_hw_params(struct snd_
+@@ -461,19 +456,19 @@ static int fsl_sai_hw_params(struct snd_
  
        if (!sai->is_slave_mode) {
                if (!sai->synchronous[TX] && sai->synchronous[RX] && !tx) {
@@ -150,7 +150,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
                                FSL_SAI_CR5_WNW_MASK | FSL_SAI_CR5_W0W_MASK |
                                FSL_SAI_CR5_FBT_MASK, val_cr5);
                        regmap_write(sai->regmap, FSL_SAI_RMR,
-@@ -480,10 +475,10 @@ static int fsl_sai_hw_params(struct snd_
+@@ -481,10 +476,10 @@ static int fsl_sai_hw_params(struct snd_
                }
        }
  
@@ -163,7 +163,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
                           FSL_SAI_CR5_WNW_MASK | FSL_SAI_CR5_W0W_MASK |
                           FSL_SAI_CR5_FBT_MASK, val_cr5);
        regmap_write(sai->regmap, FSL_SAI_xMR(tx), ~0UL - ((1 << channels) - 1));
-@@ -511,8 +506,6 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -512,8 +507,6 @@ static int fsl_sai_trigger(struct snd_pc
                struct snd_soc_dai *cpu_dai)
  {
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
@@ -172,7 +172,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
        bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
        u32 xcsr, count = 100;
  
-@@ -521,9 +514,9 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -522,9 +515,9 @@ static int fsl_sai_trigger(struct snd_pc
         * Rx sync with Tx clocks: Clear SYNC for Tx, set it for Rx.
         * Tx sync with Rx clocks: Clear SYNC for Rx, set it for Tx.
         */
@@ -185,7 +185,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
                           sai->synchronous[RX] ? FSL_SAI_CR2_SYNC : 0);
  
        /*
-@@ -534,44 +527,43 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -535,44 +528,43 @@ static int fsl_sai_trigger(struct snd_pc
        case SNDRV_PCM_TRIGGER_START:
        case SNDRV_PCM_TRIGGER_RESUME:
        case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
@@ -242,7 +242,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
                                           FSL_SAI_CSR_FR, FSL_SAI_CSR_FR);
  
                        /*
-@@ -583,13 +575,13 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -584,13 +576,13 @@ static int fsl_sai_trigger(struct snd_pc
                         */
                        if (!sai->is_slave_mode) {
                                /* Software Reset for both Tx and Rx */
@@ -262,7 +262,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
                        }
                }
                break;
-@@ -604,11 +596,10 @@ static int fsl_sai_startup(struct snd_pc
+@@ -605,11 +597,10 @@ static int fsl_sai_startup(struct snd_pc
                struct snd_soc_dai *cpu_dai)
  {
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
@@ -275,7 +275,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
                           FSL_SAI_CR3_TRCE_MASK,
                           FSL_SAI_CR3_TRCE);
  
-@@ -622,10 +613,9 @@ static void fsl_sai_shutdown(struct snd_
+@@ -623,10 +614,9 @@ static void fsl_sai_shutdown(struct snd_
                struct snd_soc_dai *cpu_dai)
  {
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
@@ -287,7 +287,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
                           FSL_SAI_CR3_TRCE_MASK, 0);
  }
  
-@@ -643,20 +633,17 @@ static const struct snd_soc_dai_ops fsl_
+@@ -644,20 +634,17 @@ static const struct snd_soc_dai_ops fsl_
  static int fsl_sai_dai_probe(struct snd_soc_dai *cpu_dai)
  {
        struct fsl_sai *sai = dev_get_drvdata(cpu_dai->dev);
@@ -314,7 +314,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
                           FSL_SAI_MAXBURST_RX - 1);
  
        snd_soc_dai_init_dma_data(cpu_dai, &sai->dma_params_tx,
-@@ -694,12 +681,12 @@ static const struct snd_soc_component_dr
+@@ -695,12 +682,12 @@ static const struct snd_soc_component_dr
        .name           = "fsl-sai",
  };
  
@@ -333,7 +333,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
        {FSL_SAI_TDR0, 0},
        {FSL_SAI_TDR1, 0},
        {FSL_SAI_TDR2, 0},
-@@ -708,50 +695,24 @@ static struct reg_default fsl_sai_reg_de
+@@ -709,50 +696,24 @@ static struct reg_default fsl_sai_reg_de
        {FSL_SAI_TDR5, 0},
        {FSL_SAI_TDR6, 0},
        {FSL_SAI_TDR7, 0},
@@ -397,7 +397,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
        case FSL_SAI_TFR0:
        case FSL_SAI_TFR1:
        case FSL_SAI_TFR2:
-@@ -761,6 +722,12 @@ static bool fsl_sai_readable_reg(struct
+@@ -762,6 +723,12 @@ static bool fsl_sai_readable_reg(struct
        case FSL_SAI_TFR6:
        case FSL_SAI_TFR7:
        case FSL_SAI_TMR:
@@ -410,7 +410,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
        case FSL_SAI_RDR0:
        case FSL_SAI_RDR1:
        case FSL_SAI_RDR2:
-@@ -786,13 +753,9 @@ static bool fsl_sai_readable_reg(struct
+@@ -787,13 +754,9 @@ static bool fsl_sai_readable_reg(struct
  
  static bool fsl_sai_volatile_reg(struct device *dev, unsigned int reg)
  {
@@ -426,7 +426,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
        case FSL_SAI_TFR0:
        case FSL_SAI_TFR1:
        case FSL_SAI_TFR2:
-@@ -825,16 +788,13 @@ static bool fsl_sai_volatile_reg(struct
+@@ -826,16 +789,13 @@ static bool fsl_sai_volatile_reg(struct
  
  static bool fsl_sai_writeable_reg(struct device *dev, unsigned int reg)
  {
@@ -449,7 +449,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
        case FSL_SAI_TDR0:
        case FSL_SAI_TDR1:
        case FSL_SAI_TDR2:
-@@ -844,6 +804,12 @@ static bool fsl_sai_writeable_reg(struct
+@@ -845,6 +805,12 @@ static bool fsl_sai_writeable_reg(struct
        case FSL_SAI_TDR6:
        case FSL_SAI_TDR7:
        case FSL_SAI_TMR:
@@ -462,7 +462,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
        case FSL_SAI_RMR:
                return true;
        default:
-@@ -851,15 +817,15 @@ static bool fsl_sai_writeable_reg(struct
+@@ -852,15 +818,15 @@ static bool fsl_sai_writeable_reg(struct
        }
  }
  
@@ -481,7 +481,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
        .readable_reg = fsl_sai_readable_reg,
        .volatile_reg = fsl_sai_volatile_reg,
        .writeable_reg = fsl_sai_writeable_reg,
-@@ -891,12 +857,6 @@ static int fsl_sai_probe(struct platform
+@@ -892,12 +858,6 @@ static int fsl_sai_probe(struct platform
        if (IS_ERR(base))
                return PTR_ERR(base);
  
@@ -494,7 +494,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
        sai->regmap = devm_regmap_init_mmio_clk(&pdev->dev,
                        "bus", base, &fsl_sai_regmap_config);
  
-@@ -1026,13 +986,11 @@ static int fsl_sai_remove(struct platfor
+@@ -1027,13 +987,11 @@ static int fsl_sai_remove(struct platfor
  static const struct fsl_sai_soc_data fsl_sai_vf610_data = {
        .use_imx_pcm = false,
        .fifo_depth = 32,
@@ -508,7 +508,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
  };
  
  static const struct of_device_id fsl_sai_ids[] = {
-@@ -1065,7 +1023,6 @@ static int fsl_sai_runtime_suspend(struc
+@@ -1066,7 +1024,6 @@ static int fsl_sai_runtime_suspend(struc
  static int fsl_sai_runtime_resume(struct device *dev)
  {
        struct fsl_sai *sai = dev_get_drvdata(dev);
@@ -516,7 +516,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
        int ret;
  
        ret = clk_prepare_enable(sai->bus_clk);
-@@ -1087,11 +1044,11 @@ static int fsl_sai_runtime_resume(struct
+@@ -1088,11 +1045,11 @@ static int fsl_sai_runtime_resume(struct
        }
  
        regcache_cache_only(sai->regmap, false);
index e1163890310b48ad9d7bd8939834bf4d95649f76..1283e3edc6aa738c4d2fb11e1e4032252ac5ff15 100644 (file)
@@ -11,7 +11,7 @@ This reverts commit b84f50b0fcb497a62068926fca793d2d213c7dbd.
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -599,8 +599,7 @@ static int fsl_sai_startup(struct snd_pc
+@@ -600,8 +600,7 @@ static int fsl_sai_startup(struct snd_pc
        bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
        int ret;
  
@@ -21,7 +21,7 @@ This reverts commit b84f50b0fcb497a62068926fca793d2d213c7dbd.
                           FSL_SAI_CR3_TRCE);
  
        ret = snd_pcm_hw_constraint_list(substream->runtime, 0,
-@@ -615,8 +614,7 @@ static void fsl_sai_shutdown(struct snd_
+@@ -616,8 +615,7 @@ static void fsl_sai_shutdown(struct snd_
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
        bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
  
index d73a4269d632541aa045ff843d3eec745e689e9e..62aba381191c26e6e06b9d1907a55c3cab5fc88d 100644 (file)
@@ -12,7 +12,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830.
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -685,14 +685,7 @@ static struct reg_default fsl_sai_reg_de
+@@ -686,14 +686,7 @@ static struct reg_default fsl_sai_reg_de
        {FSL_SAI_TCR3, 0},
        {FSL_SAI_TCR4, 0},
        {FSL_SAI_TCR5, 0},
@@ -28,7 +28,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830.
        {FSL_SAI_TMR,  0},
        {FSL_SAI_RCR1, 0},
        {FSL_SAI_RCR2, 0},
-@@ -711,14 +704,7 @@ static bool fsl_sai_readable_reg(struct
+@@ -712,14 +705,7 @@ static bool fsl_sai_readable_reg(struct
        case FSL_SAI_TCR3:
        case FSL_SAI_TCR4:
        case FSL_SAI_TCR5:
@@ -44,7 +44,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830.
        case FSL_SAI_TMR:
        case FSL_SAI_RCSR:
        case FSL_SAI_RCR1:
-@@ -726,22 +712,8 @@ static bool fsl_sai_readable_reg(struct
+@@ -727,22 +713,8 @@ static bool fsl_sai_readable_reg(struct
        case FSL_SAI_RCR3:
        case FSL_SAI_RCR4:
        case FSL_SAI_RCR5:
@@ -69,7 +69,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830.
        case FSL_SAI_RMR:
                return true;
        default:
-@@ -754,30 +726,9 @@ static bool fsl_sai_volatile_reg(struct
+@@ -755,30 +727,9 @@ static bool fsl_sai_volatile_reg(struct
        switch (reg) {
        case FSL_SAI_TCSR:
        case FSL_SAI_RCSR:
@@ -103,7 +103,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830.
                return true;
        default:
                return false;
-@@ -793,14 +744,7 @@ static bool fsl_sai_writeable_reg(struct
+@@ -794,14 +745,7 @@ static bool fsl_sai_writeable_reg(struct
        case FSL_SAI_TCR3:
        case FSL_SAI_TCR4:
        case FSL_SAI_TCR5:
@@ -119,7 +119,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830.
        case FSL_SAI_TMR:
        case FSL_SAI_RCSR:
        case FSL_SAI_RCR1:
-@@ -942,8 +886,8 @@ static int fsl_sai_probe(struct platform
+@@ -943,8 +887,8 @@ static int fsl_sai_probe(struct platform
                                   MCLK_DIR(index));
        }
  
index 207c832050ff660e4db7cee1205a4681c26fff1a..9dfde30beb246b6a0f52c249a85ad86d0679e308 100644 (file)
@@ -154,7 +154,7 @@ This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5.
                               esai_priv->name, esai_priv);
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -831,8 +831,10 @@ static int fsl_sai_probe(struct platform
+@@ -832,8 +832,10 @@ static int fsl_sai_probe(struct platform
        }
  
        irq = platform_get_irq(pdev, 0);
index 454bfd5a18f3f5f7436388cdc6c6ee307f18fc44..0c031f9491844952f7bee2fb09410436d3a5a0e9 100644 (file)
@@ -10,7 +10,7 @@ This reverts commit 6d19d8a3cec74a9680947ecb6abdeda38583110e.
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -763,7 +763,6 @@ static const struct regmap_config fsl_sa
+@@ -764,7 +764,6 @@ static const struct regmap_config fsl_sa
        .reg_bits = 32,
        .reg_stride = 4,
        .val_bits = 32,
index 07c3b87b0401498b4d1a4b81888c6b2fbb56de68..62e215188892c384d9f66f913f2a47247d7fa6ee 100644 (file)
@@ -12,7 +12,7 @@ This reverts commit bd517707d85f19a7339ea8b882fcbf0fd9976bd6.
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -640,7 +640,7 @@ static int fsl_sai_dai_probe(struct snd_
+@@ -641,7 +641,7 @@ static int fsl_sai_dai_probe(struct snd_
        regmap_write(sai->regmap, FSL_SAI_RCSR, 0);
  
        regmap_update_bits(sai->regmap, FSL_SAI_TCR1, FSL_SAI_CR1_RFW_MASK,
@@ -21,7 +21,7 @@ This reverts commit bd517707d85f19a7339ea8b882fcbf0fd9976bd6.
        regmap_update_bits(sai->regmap, FSL_SAI_RCR1, FSL_SAI_CR1_RFW_MASK,
                           FSL_SAI_MAXBURST_RX - 1);
  
-@@ -928,12 +928,10 @@ static int fsl_sai_remove(struct platfor
+@@ -929,12 +929,10 @@ static int fsl_sai_remove(struct platfor
  
  static const struct fsl_sai_soc_data fsl_sai_vf610_data = {
        .use_imx_pcm = false,
index 12a32bc26bf6d3c0aa47d36a9eb3fa5a5e42f13c..d6a8c97379c2ceb4b4c3d8a2aa514b119b17b83d 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  #include <linux/pm_runtime.h>
  #include <linux/regmap.h>
  #include <linux/slab.h>
-@@ -789,7 +788,10 @@ static int fsl_sai_probe(struct platform
+@@ -790,7 +789,10 @@ static int fsl_sai_probe(struct platform
                return -ENOMEM;
  
        sai->pdev = pdev;
@@ -34,7 +34,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  
        sai->is_lsb_first = of_property_read_bool(np, "lsb-first");
  
-@@ -901,7 +903,7 @@ static int fsl_sai_probe(struct platform
+@@ -902,7 +904,7 @@ static int fsl_sai_probe(struct platform
        if (ret)
                goto err_pm_disable;
  
@@ -43,7 +43,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
                ret = imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE);
                if (ret)
                        goto err_pm_disable;
-@@ -926,18 +928,10 @@ static int fsl_sai_remove(struct platfor
+@@ -927,18 +929,10 @@ static int fsl_sai_remove(struct platfor
        return 0;
  }
  
index 3b7de3c98b9525f31d782a7c5346af97476cc5e6..809a642ce962d833774c16aea9a7b8dbad4fcfdf 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -506,7 +506,9 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -507,7 +507,9 @@ static int fsl_sai_trigger(struct snd_pc
  {
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
        bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
@@ -25,7 +25,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
  
        /*
         * Asynchronous mode: Clear SYNC for both Tx and Rx.
-@@ -529,6 +531,11 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -530,6 +532,11 @@ static int fsl_sai_trigger(struct snd_pc
                regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx),
                                   FSL_SAI_CSR_FRDE, FSL_SAI_CSR_FRDE);
  
index faff9786b73299f31b5e1f7a5f51be64f14374ab..d365c6c52521c297e29cbb70916dfa9ff1be9384 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -605,6 +605,11 @@ static int fsl_sai_startup(struct snd_pc
+@@ -606,6 +606,11 @@ static int fsl_sai_startup(struct snd_pc
        bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
        int ret;
  
@@ -27,7 +27,7 @@ Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
        regmap_update_bits(sai->regmap, FSL_SAI_xCR3(tx), FSL_SAI_CR3_TRCE,
                           FSL_SAI_CR3_TRCE);
  
-@@ -621,6 +626,11 @@ static void fsl_sai_shutdown(struct snd_
+@@ -622,6 +627,11 @@ static void fsl_sai_shutdown(struct snd_
        bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
  
        regmap_update_bits(sai->regmap, FSL_SAI_xCR3(tx), FSL_SAI_CR3_TRCE, 0);
index 0fe22451f106f1fe52ecda87c7ee557c7a242a69..0e282895cdd5a00a90d615b7ea19fc06accc5085 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -264,6 +264,8 @@ static int fsl_sai_set_dai_fmt_tr(struct
+@@ -265,6 +265,8 @@ static int fsl_sai_set_dai_fmt_tr(struct
                return -EINVAL;
        }
  
index 8dbc6d1551bc4708a1f19b955e0076cb636f65c0..b43e581b305029d0fb11b2e2b3d022dcc98bd708 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -476,6 +476,35 @@ static int fsl_sai_hw_params(struct snd_
+@@ -477,6 +477,35 @@ static int fsl_sai_hw_params(struct snd_
                }
        }
  
index 470b1d02c4f017f761854d11541d5e5d26d6db16..5c52d0334df086c672434cf04805d91c2ae633ff 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -868,8 +868,7 @@ static int fsl_sai_probe(struct platform
+@@ -869,8 +869,7 @@ static int fsl_sai_probe(struct platform
                sai->bus_clk = NULL;
        }
  
index 793936d376d1c8fd631714d66505a4f029354020..0e35a7c79ada5209bf30518c03b7a0abff55ace6 100644 (file)
@@ -76,7 +76,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  static const unsigned int fsl_sai_rates[] = {
        8000, 11025, 12000, 16000, 22050,
        24000, 32000, 44100, 48000, 64000,
-@@ -505,6 +541,29 @@ static int fsl_sai_hw_params(struct snd_
+@@ -506,6 +542,29 @@ static int fsl_sai_hw_params(struct snd_
                }
        }
  
@@ -106,7 +106,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
        regmap_update_bits(sai->regmap, FSL_SAI_xCR4(tx),
                           FSL_SAI_CR4_SYWD_MASK | FSL_SAI_CR4_FRSZ_MASK,
                           val_cr4);
-@@ -563,14 +622,16 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -564,14 +623,16 @@ static int fsl_sai_trigger(struct snd_pc
                                   FSL_SAI_CSR_FRDE, FSL_SAI_CSR_FRDE);
  
                for (i = 0; tx && i < channels; i++)
@@ -126,7 +126,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  
                regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx),
                                   FSL_SAI_CSR_xIE_MASK, FSL_SAI_FLAGS);
-@@ -641,8 +702,8 @@ static int fsl_sai_startup(struct snd_pc
+@@ -642,8 +703,8 @@ static int fsl_sai_startup(struct snd_pc
        else
                sai->is_stream_opened[tx] = true;
  
@@ -137,7 +137,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  
        ret = snd_pcm_hw_constraint_list(substream->runtime, 0,
                        SNDRV_PCM_HW_PARAM_RATE, &fsl_sai_rate_constraints);
-@@ -659,7 +720,7 @@ static void fsl_sai_shutdown(struct snd_
+@@ -660,7 +721,7 @@ static void fsl_sai_shutdown(struct snd_
        regmap_update_bits(sai->regmap, FSL_SAI_xCR3(tx), FSL_SAI_CR3_TRCE, 0);
  
        if (sai->is_stream_opened[tx]) {
@@ -146,7 +146,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
                sai->is_stream_opened[tx] = false;
        }
  }
-@@ -687,7 +748,7 @@ static int fsl_sai_dai_probe(struct snd_
+@@ -688,7 +749,7 @@ static int fsl_sai_dai_probe(struct snd_
        regmap_write(sai->regmap, FSL_SAI_RCSR, 0);
  
        regmap_update_bits(sai->regmap, FSL_SAI_TCR1, FSL_SAI_CR1_RFW_MASK,
@@ -155,7 +155,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
        regmap_update_bits(sai->regmap, FSL_SAI_RCR1, FSL_SAI_CR1_RFW_MASK,
                           FSL_SAI_MAXBURST_RX - 1);
  
-@@ -732,7 +793,8 @@ static struct reg_default fsl_sai_reg_de
+@@ -733,7 +794,8 @@ static struct reg_default fsl_sai_reg_de
        {FSL_SAI_TCR3, 0},
        {FSL_SAI_TCR4, 0},
        {FSL_SAI_TCR5, 0},
@@ -165,7 +165,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
        {FSL_SAI_TMR,  0},
        {FSL_SAI_RCR1, 0},
        {FSL_SAI_RCR2, 0},
-@@ -751,7 +813,8 @@ static bool fsl_sai_readable_reg(struct
+@@ -752,7 +814,8 @@ static bool fsl_sai_readable_reg(struct
        case FSL_SAI_TCR3:
        case FSL_SAI_TCR4:
        case FSL_SAI_TCR5:
@@ -175,7 +175,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
        case FSL_SAI_TMR:
        case FSL_SAI_RCSR:
        case FSL_SAI_RCR1:
-@@ -759,8 +822,10 @@ static bool fsl_sai_readable_reg(struct
+@@ -760,8 +823,10 @@ static bool fsl_sai_readable_reg(struct
        case FSL_SAI_RCR3:
        case FSL_SAI_RCR4:
        case FSL_SAI_RCR5:
@@ -188,7 +188,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
        case FSL_SAI_RMR:
                return true;
        default:
-@@ -773,9 +838,12 @@ static bool fsl_sai_volatile_reg(struct
+@@ -774,9 +839,12 @@ static bool fsl_sai_volatile_reg(struct
        switch (reg) {
        case FSL_SAI_TCSR:
        case FSL_SAI_RCSR:
@@ -204,7 +204,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
                return true;
        default:
                return false;
-@@ -791,7 +859,8 @@ static bool fsl_sai_writeable_reg(struct
+@@ -792,7 +860,8 @@ static bool fsl_sai_writeable_reg(struct
        case FSL_SAI_TCR3:
        case FSL_SAI_TCR4:
        case FSL_SAI_TCR5:
@@ -214,7 +214,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
        case FSL_SAI_TMR:
        case FSL_SAI_RCSR:
        case FSL_SAI_RCR1:
-@@ -820,9 +889,19 @@ static const struct regmap_config fsl_sa
+@@ -821,9 +890,19 @@ static const struct regmap_config fsl_sa
        .cache_type = REGCACHE_FLAT,
  };
  
@@ -234,7 +234,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
        struct fsl_sai *sai;
        struct regmap *gpr;
        struct resource *res;
-@@ -837,11 +916,12 @@ static int fsl_sai_probe(struct platform
+@@ -838,11 +917,12 @@ static int fsl_sai_probe(struct platform
  
        sai->pdev = pdev;
  
@@ -250,7 +250,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        base = devm_ioremap_resource(&pdev->dev, res);
-@@ -873,11 +953,25 @@ static int fsl_sai_probe(struct platform
+@@ -874,11 +954,25 @@ static int fsl_sai_probe(struct platform
                sai->mclk_clk[i] = devm_clk_get(&pdev->dev, tmp);
                if (IS_ERR(sai->mclk_clk[i])) {
                        dev_err(&pdev->dev, "failed to get mclk%d clock: %ld\n",
@@ -277,7 +277,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
        irq = platform_get_irq(pdev, 0);
        if (irq < 0) {
                dev_err(&pdev->dev, "no irq for node %s\n", pdev->name);
-@@ -936,8 +1030,8 @@ static int fsl_sai_probe(struct platform
+@@ -937,8 +1031,8 @@ static int fsl_sai_probe(struct platform
                                   MCLK_DIR(index));
        }
  
@@ -288,7 +288,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
        sai->dma_params_rx.maxburst = FSL_SAI_MAXBURST_RX;
        sai->dma_params_tx.maxburst = FSL_SAI_MAXBURST_TX;
  
-@@ -950,7 +1044,7 @@ static int fsl_sai_probe(struct platform
+@@ -951,7 +1045,7 @@ static int fsl_sai_probe(struct platform
        if (ret)
                goto err_pm_disable;
  
@@ -297,7 +297,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
                ret = imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE);
                if (ret)
                        goto err_pm_disable;
-@@ -996,6 +1090,9 @@ static int fsl_sai_runtime_suspend(struc
+@@ -997,6 +1091,9 @@ static int fsl_sai_runtime_suspend(struc
  
        clk_disable_unprepare(sai->bus_clk);
  
@@ -307,7 +307,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
        regcache_cache_only(sai->regmap, true);
        regcache_mark_dirty(sai->regmap);
  
-@@ -1025,6 +1122,10 @@ static int fsl_sai_runtime_resume(struct
+@@ -1026,6 +1123,10 @@ static int fsl_sai_runtime_resume(struct
                        goto disable_tx_clk;
        }
  
index 2d7832744acd5aaa53d856b24c641cd9b02fa631..40915d41cd1dcb5a129ffdb711eb9866df2f3cfc 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -527,8 +527,6 @@ static int fsl_sai_hw_params(struct snd_
+@@ -528,8 +528,6 @@ static int fsl_sai_hw_params(struct snd_
                        regmap_update_bits(sai->regmap, FSL_SAI_TCR5,
                                FSL_SAI_CR5_WNW_MASK | FSL_SAI_CR5_W0W_MASK |
                                FSL_SAI_CR5_FBT_MASK, val_cr5);
@@ -24,7 +24,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
                } else if (!sai->synchronous[RX] && sai->synchronous[TX] && tx) {
                        regmap_update_bits(sai->regmap, FSL_SAI_RCR4,
                                FSL_SAI_CR4_SYWD_MASK | FSL_SAI_CR4_FRSZ_MASK,
-@@ -536,8 +534,6 @@ static int fsl_sai_hw_params(struct snd_
+@@ -537,8 +535,6 @@ static int fsl_sai_hw_params(struct snd_
                        regmap_update_bits(sai->regmap, FSL_SAI_RCR5,
                                FSL_SAI_CR5_WNW_MASK | FSL_SAI_CR5_W0W_MASK |
                                FSL_SAI_CR5_FBT_MASK, val_cr5);
@@ -33,7 +33,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
                }
        }
  
-@@ -626,12 +622,17 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -627,12 +623,17 @@ static int fsl_sai_trigger(struct snd_pc
                if (tx)
                        udelay(10);
  
index 1184bce0e32f17d45b3fc3ba7b0a6aabc9169f13..5397a3e8d129f314c05246af9fae559275757595 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -910,6 +910,7 @@ static int fsl_sai_probe(struct platform
+@@ -911,6 +911,7 @@ static int fsl_sai_probe(struct platform
        char tmp[8];
        int irq, ret, i;
        int index;
@@ -26,7 +26,7 @@ Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
  
        sai = devm_kzalloc(&pdev->dev, sizeof(*sai), GFP_KERNEL);
        if (!sai)
-@@ -979,7 +980,12 @@ static int fsl_sai_probe(struct platform
+@@ -980,7 +981,12 @@ static int fsl_sai_probe(struct platform
                return irq;
        }
  
index 2fb5789ef30a447563b0d0e72afbdc44eead0cb7..bcdd39a9b3adfbeeeecf4bf64ead50c06cf5ef81 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -300,7 +300,7 @@ static int fsl_sai_set_dai_fmt_tr(struct
+@@ -301,7 +301,7 @@ static int fsl_sai_set_dai_fmt_tr(struct
                return -EINVAL;
        }
  
@@ -25,7 +25,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
  
        /* DAI clock master masks */
        switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
-@@ -310,7 +310,7 @@ static int fsl_sai_set_dai_fmt_tr(struct
+@@ -311,7 +311,7 @@ static int fsl_sai_set_dai_fmt_tr(struct
                sai->is_slave_mode = false;
                break;
        case SND_SOC_DAIFMT_CBM_CFM:
@@ -34,7 +34,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
                break;
        case SND_SOC_DAIFMT_CBS_CFM:
                val_cr2 |= FSL_SAI_CR2_BCD_MSTR;
-@@ -318,7 +318,7 @@ static int fsl_sai_set_dai_fmt_tr(struct
+@@ -319,7 +319,7 @@ static int fsl_sai_set_dai_fmt_tr(struct
                break;
        case SND_SOC_DAIFMT_CBM_CFS:
                val_cr4 |= FSL_SAI_CR4_FSD_MSTR;
@@ -43,7 +43,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
                break;
        default:
                return -EINVAL;
-@@ -359,7 +359,7 @@ static int fsl_sai_set_bclk(struct snd_s
+@@ -360,7 +360,7 @@ static int fsl_sai_set_bclk(struct snd_s
        int ret = 0;
  
        /* Don't apply to slave mode */
@@ -52,7 +52,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
                return 0;
  
        for (id = 0; id < FSL_SAI_MCLK_MAX; id++) {
-@@ -454,7 +454,7 @@ static int fsl_sai_hw_params(struct snd_
+@@ -455,7 +455,7 @@ static int fsl_sai_hw_params(struct snd_
        if (sai->slot_width)
                slot_width = sai->slot_width;
  
@@ -61,7 +61,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
                ret = fsl_sai_set_bclk(cpu_dai, tx,
                                slots * slot_width * params_rate(params));
                if (ret)
-@@ -490,7 +490,7 @@ static int fsl_sai_hw_params(struct snd_
+@@ -491,7 +491,7 @@ static int fsl_sai_hw_params(struct snd_
         * error.
         */
  
@@ -70,7 +70,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
                if (!sai->synchronous[TX] && sai->synchronous[RX] && !tx) {
                        regmap_update_bits(sai->regmap, FSL_SAI_TCR4,
                                FSL_SAI_CR4_SYWD_MASK | FSL_SAI_CR4_FRSZ_MASK,
-@@ -519,7 +519,7 @@ static int fsl_sai_hw_params(struct snd_
+@@ -520,7 +520,7 @@ static int fsl_sai_hw_params(struct snd_
         * error.
         */
  
@@ -79,7 +79,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
                if (!sai->synchronous[TX] && sai->synchronous[RX] && !tx) {
                        regmap_update_bits(sai->regmap, FSL_SAI_TCR4,
                                FSL_SAI_CR4_SYWD_MASK | FSL_SAI_CR4_FRSZ_MASK,
-@@ -577,7 +577,7 @@ static int fsl_sai_hw_free(struct snd_pc
+@@ -578,7 +578,7 @@ static int fsl_sai_hw_free(struct snd_pc
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
        bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
  
@@ -88,7 +88,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
                        sai->mclk_streams & BIT(substream->stream)) {
                clk_disable_unprepare(sai->mclk_clk[sai->mclk_id[tx]]);
                sai->mclk_streams &= ~BIT(substream->stream);
-@@ -672,7 +672,7 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -673,7 +673,7 @@ static int fsl_sai_trigger(struct snd_pc
                         * This is a hardware bug, and will be fix in the
                         * next sai version.
                         */
index 84bf81ae640b32db32484cd85ae809745a3c82ec..cfdfac9c3af43c3ca6920716eed9053c34152381 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -335,14 +335,23 @@ static int fsl_sai_set_dai_fmt_tr(struct
+@@ -336,14 +336,23 @@ static int fsl_sai_set_dai_fmt_tr(struct
  
  static int fsl_sai_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt)
  {
@@ -39,7 +39,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
        ret = fsl_sai_set_dai_fmt_tr(cpu_dai, fmt, FSL_FMT_RECEIVER);
        if (ret)
                dev_err(cpu_dai->dev, "Cannot set rx format: %d\n", ret);
-@@ -974,6 +983,9 @@ static int fsl_sai_probe(struct platform
+@@ -975,6 +984,9 @@ static int fsl_sai_probe(struct platform
                return -EINVAL;
        }
  
index 1edd4a35eadf489aef6ad6787912d44d457ae4f4..d7b01df073a78f98a9ad9bf1230eb22969b0c318 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -507,35 +507,6 @@ static int fsl_sai_hw_params(struct snd_
+@@ -508,35 +508,6 @@ static int fsl_sai_hw_params(struct snd_
                        regmap_update_bits(sai->regmap, FSL_SAI_TCR5,
                                FSL_SAI_CR5_WNW_MASK | FSL_SAI_CR5_W0W_MASK |
                                FSL_SAI_CR5_FBT_MASK, val_cr5);
index a68985fa029193fe8b2d3675525e4113ba9d5101..1fdb99645a401fd23b3c3ab90186f8003e96f0e2 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -594,15 +594,14 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -595,15 +595,14 @@ static int fsl_sai_trigger(struct snd_pc
        case SNDRV_PCM_TRIGGER_START:
        case SNDRV_PCM_TRIGGER_RESUME:
        case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
index f0063453d5abdb374aa8ba52f1e6931094651461..49f777603a0ad2077f917d648f18eb495c2c7b67 100644 (file)
@@ -114,7 +114,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        bool tx = fsl_dir == FSL_FMT_TRANSMITTER;
        u32 val_cr2 = 0, val_cr4 = 0;
  
-@@ -324,9 +339,9 @@ static int fsl_sai_set_dai_fmt_tr(struct
+@@ -325,9 +340,9 @@ static int fsl_sai_set_dai_fmt_tr(struct
                return -EINVAL;
        }
  
@@ -126,7 +126,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
                           FSL_SAI_CR4_MF | FSL_SAI_CR4_FSE |
                           FSL_SAI_CR4_FSP | FSL_SAI_CR4_FSD_MSTR, val_cr4);
  
-@@ -362,6 +377,7 @@ static int fsl_sai_set_dai_fmt(struct sn
+@@ -363,6 +378,7 @@ static int fsl_sai_set_dai_fmt(struct sn
  static int fsl_sai_set_bclk(struct snd_soc_dai *dai, bool tx, u32 freq)
  {
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(dai);
@@ -134,7 +134,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        unsigned long clk_rate;
        u32 savediv = 0, ratio, savesub = freq;
        u32 id;
-@@ -424,17 +440,17 @@ static int fsl_sai_set_bclk(struct snd_s
+@@ -425,17 +441,17 @@ static int fsl_sai_set_bclk(struct snd_s
         */
        if ((sai->synchronous[TX] && !sai->synchronous[RX]) ||
            (!tx && !sai->synchronous[RX])) {
@@ -156,7 +156,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
                                   FSL_SAI_CR2_DIV_MASK, savediv - 1);
        }
  
-@@ -449,6 +465,7 @@ static int fsl_sai_hw_params(struct snd_
+@@ -450,6 +466,7 @@ static int fsl_sai_hw_params(struct snd_
                struct snd_soc_dai *cpu_dai)
  {
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
@@ -164,7 +164,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
        unsigned int channels = params_channels(params);
        u32 word_width = params_width(params);
-@@ -501,49 +518,35 @@ static int fsl_sai_hw_params(struct snd_
+@@ -502,49 +519,35 @@ static int fsl_sai_hw_params(struct snd_
  
        if (!sai->slave_mode[tx]) {
                if (!sai->synchronous[TX] && sai->synchronous[RX] && !tx) {
@@ -226,7 +226,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
                           FSL_SAI_CR5_WNW_MASK | FSL_SAI_CR5_W0W_MASK |
                           FSL_SAI_CR5_FBT_MASK, val_cr5);
        regmap_write(sai->regmap, FSL_SAI_xMR(tx), ~0UL - ((1 << channels) - 1));
-@@ -571,6 +574,7 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -572,6 +575,7 @@ static int fsl_sai_trigger(struct snd_pc
                struct snd_soc_dai *cpu_dai)
  {
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
@@ -234,7 +234,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
        u8 channels = substream->runtime->channels;
        u32 xcsr, count = 100;
-@@ -581,9 +585,9 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -582,9 +586,9 @@ static int fsl_sai_trigger(struct snd_pc
         * Rx sync with Tx clocks: Clear SYNC for Tx, set it for Rx.
         * Tx sync with Rx clocks: Clear SYNC for Rx, set it for Tx.
         */
@@ -246,7 +246,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
                           sai->synchronous[RX] ? FSL_SAI_CR2_SYNC : 0);
  
        /*
-@@ -599,49 +603,50 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -600,49 +604,50 @@ static int fsl_sai_trigger(struct snd_pc
                if (tx)
                        udelay(10);
  
@@ -311,7 +311,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
                                           FSL_SAI_CSR_FR, FSL_SAI_CSR_FR);
  
                        /*
-@@ -654,12 +659,12 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -655,12 +660,12 @@ static int fsl_sai_trigger(struct snd_pc
                        if (!sai->slave_mode[tx]) {
                                /* Software Reset for both Tx and Rx */
                                regmap_write(sai->regmap,
@@ -328,7 +328,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
                        }
                }
                break;
-@@ -674,6 +679,7 @@ static int fsl_sai_startup(struct snd_pc
+@@ -675,6 +680,7 @@ static int fsl_sai_startup(struct snd_pc
                struct snd_soc_dai *cpu_dai)
  {
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
@@ -336,7 +336,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
        int ret;
  
-@@ -682,7 +688,8 @@ static int fsl_sai_startup(struct snd_pc
+@@ -683,7 +689,8 @@ static int fsl_sai_startup(struct snd_pc
        else
                sai->is_stream_opened[tx] = true;
  
@@ -346,7 +346,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
                           FSL_SAI_CR3_TRCE(sai->dataline[tx]));
  
        ret = snd_pcm_hw_constraint_list(substream->runtime, 0,
-@@ -695,12 +702,14 @@ static void fsl_sai_shutdown(struct snd_
+@@ -696,12 +703,14 @@ static void fsl_sai_shutdown(struct snd_
                struct snd_soc_dai *cpu_dai)
  {
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
@@ -362,7 +362,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
                sai->is_stream_opened[tx] = false;
        }
  }
-@@ -719,17 +728,18 @@ static const struct snd_soc_dai_ops fsl_
+@@ -720,17 +729,18 @@ static const struct snd_soc_dai_ops fsl_
  static int fsl_sai_dai_probe(struct snd_soc_dai *cpu_dai)
  {
        struct fsl_sai *sai = dev_get_drvdata(cpu_dai->dev);
@@ -387,7 +387,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
                           FSL_SAI_MAXBURST_RX - 1);
  
        snd_soc_dai_init_dma_data(cpu_dai, &sai->dma_params_tx,
-@@ -767,41 +777,55 @@ static const struct snd_soc_component_dr
+@@ -768,41 +778,55 @@ static const struct snd_soc_component_dr
        .name           = "fsl-sai",
  };
  
@@ -466,7 +466,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        case FSL_SAI_RDR0:
        case FSL_SAI_RDR1:
        case FSL_SAI_RFR0:
-@@ -815,9 +839,13 @@ static bool fsl_sai_readable_reg(struct
+@@ -816,9 +840,13 @@ static bool fsl_sai_readable_reg(struct
  
  static bool fsl_sai_volatile_reg(struct device *dev, unsigned int reg)
  {
@@ -482,7 +482,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        case FSL_SAI_TFR0:
        case FSL_SAI_TFR1:
        case FSL_SAI_RFR0:
-@@ -832,22 +860,19 @@ static bool fsl_sai_volatile_reg(struct
+@@ -833,22 +861,19 @@ static bool fsl_sai_volatile_reg(struct
  
  static bool fsl_sai_writeable_reg(struct device *dev, unsigned int reg)
  {
@@ -514,7 +514,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        case FSL_SAI_RMR:
                return true;
        default:
-@@ -855,14 +880,28 @@ static bool fsl_sai_writeable_reg(struct
+@@ -856,14 +881,28 @@ static bool fsl_sai_writeable_reg(struct
        }
  }
  
@@ -546,7 +546,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        .readable_reg = fsl_sai_readable_reg,
        .volatile_reg = fsl_sai_volatile_reg,
        .writeable_reg = fsl_sai_writeable_reg,
-@@ -874,6 +913,7 @@ static const struct of_device_id fsl_sai
+@@ -875,6 +914,7 @@ static const struct of_device_id fsl_sai
        { .compatible = "fsl,imx6sx-sai", .data = &fsl_sai_imx6sx },
        { .compatible = "fsl,imx6ul-sai", .data = &fsl_sai_imx6ul },
        { .compatible = "fsl,imx7ulp-sai", .data = &fsl_sai_imx7ulp },
@@ -554,7 +554,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        { /* sentinel */ }
  };
  MODULE_DEVICE_TABLE(of, fsl_sai_ids);
-@@ -889,7 +929,8 @@ static int fsl_sai_probe(struct platform
+@@ -890,7 +930,8 @@ static int fsl_sai_probe(struct platform
        char tmp[8];
        int irq, ret, i;
        int index;
@@ -564,7 +564,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
  
        sai = devm_kzalloc(&pdev->dev, sizeof(*sai), GFP_KERNEL);
        if (!sai)
-@@ -909,6 +950,9 @@ static int fsl_sai_probe(struct platform
+@@ -910,6 +951,9 @@ static int fsl_sai_probe(struct platform
        if (IS_ERR(base))
                return PTR_ERR(base);
  
@@ -574,7 +574,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        sai->regmap = devm_regmap_init_mmio_clk(&pdev->dev,
                        "bus", base, &fsl_sai_regmap_config);
  
-@@ -963,11 +1007,11 @@ static int fsl_sai_probe(struct platform
+@@ -964,11 +1008,11 @@ static int fsl_sai_probe(struct platform
        }
  
        /* SAI shared interrupt */
@@ -590,7 +590,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        if (ret) {
                dev_err(&pdev->dev, "failed to claim irq %u\n", irq);
                return ret;
-@@ -1091,6 +1135,7 @@ static int fsl_sai_runtime_suspend(struc
+@@ -1092,6 +1136,7 @@ static int fsl_sai_runtime_suspend(struc
  static int fsl_sai_runtime_resume(struct device *dev)
  {
        struct fsl_sai *sai = dev_get_drvdata(dev);
@@ -598,7 +598,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        int ret;
  
        ret = clk_prepare_enable(sai->bus_clk);
-@@ -1116,11 +1161,11 @@ static int fsl_sai_runtime_resume(struct
+@@ -1117,11 +1162,11 @@ static int fsl_sai_runtime_resume(struct
                                PM_QOS_CPU_DMA_LATENCY, 0);
  
        regcache_cache_only(sai->regmap, false);
index 71554d295a6f8aee1e8b947f76bf654e15e22925..d3ab26b7c799d9b98ac15e6a8456b1547ac0bb3f 100644 (file)
@@ -72,7 +72,7 @@ Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
  };
  
  static const unsigned int fsl_sai_rates[] = {
-@@ -692,6 +707,13 @@ static int fsl_sai_startup(struct snd_pc
+@@ -693,6 +708,13 @@ static int fsl_sai_startup(struct snd_pc
                           FSL_SAI_CR3_TRCE_MASK,
                           FSL_SAI_CR3_TRCE(sai->dataline[tx]));
  
@@ -86,7 +86,7 @@ Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
        ret = snd_pcm_hw_constraint_list(substream->runtime, 0,
                        SNDRV_PCM_HW_PARAM_RATE, &fsl_sai_rate_constraints);
  
-@@ -914,6 +936,7 @@ static const struct of_device_id fsl_sai
+@@ -915,6 +937,7 @@ static const struct of_device_id fsl_sai
        { .compatible = "fsl,imx6ul-sai", .data = &fsl_sai_imx6ul },
        { .compatible = "fsl,imx7ulp-sai", .data = &fsl_sai_imx7ulp },
        { .compatible = "fsl,imx8mq-sai", .data = &fsl_sai_imx8mq },
index d2a7955caef773368bc88f19c5823379d0b12a52..480ae311e4ce7b77490b13c5a053d30175951c72 100644 (file)
@@ -32,7 +32,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        .flags = 0,
        .reg_offset = 0,
        .constrain_period_size = true,
-@@ -759,10 +759,12 @@ static int fsl_sai_dai_probe(struct snd_
+@@ -760,10 +760,12 @@ static int fsl_sai_dai_probe(struct snd_
        regmap_write(sai->regmap, FSL_SAI_TCSR(offset), 0);
        regmap_write(sai->regmap, FSL_SAI_RCSR(offset), 0);
  
index 03201fea90b966ee2f8b2f587ea8dd121b27c73a..8eb7cb1bac13ad32ea411ad79b31b437f895a43b 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -1097,6 +1097,8 @@ static int fsl_sai_probe(struct platform
+@@ -1098,6 +1098,8 @@ static int fsl_sai_probe(struct platform
  
        pm_runtime_enable(&pdev->dev);
  
@@ -25,7 +25,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        ret = devm_snd_soc_register_component(&pdev->dev, &fsl_component,
                                              &sai->cpu_dai_drv, 1);
        if (ret)
-@@ -1140,6 +1142,8 @@ static int fsl_sai_runtime_suspend(struc
+@@ -1141,6 +1143,8 @@ static int fsl_sai_runtime_suspend(struc
  {
        struct fsl_sai *sai = dev_get_drvdata(dev);
  
index cc60638f2b22bdb19d76f920822b3d8df38e096c..643606808ee3bf7a7a0efcbaa650aa2b67b55aad 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -368,9 +368,9 @@ static int fsl_sai_set_dai_fmt(struct sn
+@@ -369,9 +369,9 @@ static int fsl_sai_set_dai_fmt(struct sn
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
        int ret;
  
@@ -29,7 +29,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
  
        ret = fsl_sai_set_dai_fmt_tr(cpu_dai, fmt, FSL_FMT_TRANSMITTER);
        if (ret) {
-@@ -378,9 +378,9 @@ static int fsl_sai_set_dai_fmt(struct sn
+@@ -379,9 +379,9 @@ static int fsl_sai_set_dai_fmt(struct sn
                return ret;
        }
  
@@ -42,7 +42,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
  
        ret = fsl_sai_set_dai_fmt_tr(cpu_dai, fmt, FSL_FMT_RECEIVER);
        if (ret)
-@@ -1022,8 +1022,19 @@ static int fsl_sai_probe(struct platform
+@@ -1023,8 +1023,19 @@ static int fsl_sai_probe(struct platform
                return -EINVAL;
        }
  
index 25275a27a23698587ce632b0ee8851bacee61ec8..2178da53b883b5e1885564224b77f6a232b44c9c 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -487,11 +487,14 @@ static int fsl_sai_hw_params(struct snd_
+@@ -488,11 +488,14 @@ static int fsl_sai_hw_params(struct snd_
        u32 val_cr4 = 0, val_cr5 = 0;
        u32 slots = (channels == 1) ? 2 : channels;
        u32 slot_width = word_width;
@@ -30,7 +30,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        if (sai->slot_width)
                slot_width = sai->slot_width;
  
-@@ -558,6 +561,10 @@ static int fsl_sai_hw_params(struct snd_
+@@ -559,6 +562,10 @@ static int fsl_sai_hw_params(struct snd_
                                FSL_SAI_CR4_FCOMB_MASK, FSL_SAI_CR4_FCOMB_SOFT);
        }
  
@@ -41,7 +41,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        regmap_update_bits(sai->regmap, FSL_SAI_xCR4(tx, offset),
                           FSL_SAI_CR4_SYWD_MASK | FSL_SAI_CR4_FRSZ_MASK,
                           val_cr4);
-@@ -573,8 +580,12 @@ static int fsl_sai_hw_free(struct snd_pc
+@@ -574,8 +581,12 @@ static int fsl_sai_hw_free(struct snd_pc
                struct snd_soc_dai *cpu_dai)
  {
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
@@ -54,7 +54,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        if (!sai->slave_mode[tx] &&
                        sai->mclk_streams & BIT(substream->stream)) {
                clk_disable_unprepare(sai->mclk_clk[sai->mclk_id[tx]]);
-@@ -694,7 +705,6 @@ static int fsl_sai_startup(struct snd_pc
+@@ -695,7 +706,6 @@ static int fsl_sai_startup(struct snd_pc
                struct snd_soc_dai *cpu_dai)
  {
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
@@ -62,7 +62,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
        bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
        int ret;
  
-@@ -724,7 +734,6 @@ static void fsl_sai_shutdown(struct snd_
+@@ -725,7 +735,6 @@ static void fsl_sai_shutdown(struct snd_
                struct snd_soc_dai *cpu_dai)
  {
        struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
index c353ba4ae49eadbaa353184df3ff2c34e40e6137..fa9ae220a29c0357ddfda5dbac12ffece0d6c7a8 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
        .fifos = 1,
        .fifo_depth = 64,
        .flags = 0,
-@@ -571,7 +571,7 @@ static int fsl_sai_hw_params(struct snd_
+@@ -572,7 +572,7 @@ static int fsl_sai_hw_params(struct snd_
        regmap_update_bits(sai->regmap, FSL_SAI_xCR5(tx, offset),
                           FSL_SAI_CR5_WNW_MASK | FSL_SAI_CR5_W0W_MASK |
                           FSL_SAI_CR5_FBT_MASK, val_cr5);
@@ -33,7 +33,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
  
        return 0;
  }
-@@ -858,11 +858,23 @@ static bool fsl_sai_readable_reg(struct
+@@ -859,11 +859,23 @@ static bool fsl_sai_readable_reg(struct
        switch (reg) {
        case FSL_SAI_TFR0:
        case FSL_SAI_TFR1:
@@ -57,7 +57,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
        case FSL_SAI_RMR:
                return true;
        default:
-@@ -881,8 +893,20 @@ static bool fsl_sai_volatile_reg(struct
+@@ -882,8 +894,20 @@ static bool fsl_sai_volatile_reg(struct
        switch (reg) {
        case FSL_SAI_TFR0:
        case FSL_SAI_TFR1:
index ab892911896e86fc9640d4e31d7175d4fe34a9f5..fc90f2616fce2d33c5cd9921e891a639f65f71d0 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -571,8 +571,8 @@ static int fsl_sai_hw_params(struct snd_
+@@ -572,8 +572,8 @@ static int fsl_sai_hw_params(struct snd_
        regmap_update_bits(sai->regmap, FSL_SAI_xCR5(tx, offset),
                           FSL_SAI_CR5_WNW_MASK | FSL_SAI_CR5_W0W_MASK |
                           FSL_SAI_CR5_FBT_MASK, val_cr5);
index c095f5ff356f1644544ea4543dacf729f5f46233..7bdd15ccc11f98102db735085d13e265343bf91b 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
        ret = fsl_sai_set_dai_sysclk_tr(cpu_dai, clk_id, freq,
                                        FSL_FMT_TRANSMITTER);
        if (ret) {
-@@ -499,7 +502,11 @@ static int fsl_sai_hw_params(struct snd_
+@@ -500,7 +503,11 @@ static int fsl_sai_hw_params(struct snd_
                slot_width = sai->slot_width;
  
        if (!sai->slave_mode[tx]) {
index c2952deaab40146348a01d32ac62d73f6d0e5975..ee47b150c5df7da1b9e261cb3cab4cd246120de6 100644 (file)
@@ -31,15 +31,7 @@ Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -267,6 +267,7 @@ static int fsl_sai_set_dai_fmt_tr(struct
-       if (!sai->is_lsb_first)
-               val_cr4 |= FSL_SAI_CR4_MF;
-+      sai->is_dsp_mode = false;
-       /* DAI mode */
-       switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
-       case SND_SOC_DAIFMT_I2S:
-@@ -305,6 +306,11 @@ static int fsl_sai_set_dai_fmt_tr(struct
+@@ -306,6 +306,11 @@ static int fsl_sai_set_dai_fmt_tr(struct
                val_cr2 |= FSL_SAI_CR2_BCP;
                sai->is_dsp_mode = true;
                break;
@@ -51,7 +43,7 @@ Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
        case SND_SOC_DAIFMT_RIGHT_J:
                /* To be done */
        default:
-@@ -492,12 +498,38 @@ static int fsl_sai_hw_params(struct snd_
+@@ -493,12 +498,38 @@ static int fsl_sai_hw_params(struct snd_
        u32 slot_width = word_width;
        u32 pins;
        int ret;
@@ -90,7 +82,7 @@ Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
        if (sai->slot_width)
                slot_width = sai->slot_width;
  
-@@ -527,7 +559,7 @@ static int fsl_sai_hw_params(struct snd_
+@@ -528,7 +559,7 @@ static int fsl_sai_hw_params(struct snd_
        val_cr5 |= FSL_SAI_CR5_WNW(slot_width);
        val_cr5 |= FSL_SAI_CR5_W0W(slot_width);
  
@@ -99,7 +91,7 @@ Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
                val_cr5 |= FSL_SAI_CR5_FBT(0);
        else
                val_cr5 |= FSL_SAI_CR5_FBT(word_width - 1);
-@@ -560,17 +592,71 @@ static int fsl_sai_hw_params(struct snd_
+@@ -561,17 +592,71 @@ static int fsl_sai_hw_params(struct snd_
        }
  
        if (sai->soc->dataline != 0x1) {
@@ -174,7 +166,7 @@ Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
  
        regmap_update_bits(sai->regmap, FSL_SAI_xCR4(tx, offset),
                           FSL_SAI_CR4_SYWD_MASK | FSL_SAI_CR4_FRSZ_MASK,
-@@ -610,9 +696,18 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -611,9 +696,18 @@ static int fsl_sai_trigger(struct snd_pc
        unsigned char offset = sai->soc->reg_offset;
        bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
        u8 channels = substream->runtime->channels;
@@ -194,7 +186,7 @@ Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
        /*
         * Asynchronous mode: Clear SYNC for both Tx and Rx.
         * Rx sync with Tx clocks: Clear SYNC for Tx, set it for Rx.
-@@ -631,10 +726,19 @@ static int fsl_sai_trigger(struct snd_pc
+@@ -632,10 +726,19 @@ static int fsl_sai_trigger(struct snd_pc
        case SNDRV_PCM_TRIGGER_START:
        case SNDRV_PCM_TRIGGER_RESUME:
        case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
@@ -218,7 +210,7 @@ Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
  
                regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx, offset),
                                   FSL_SAI_CSR_FRDE, FSL_SAI_CSR_FRDE);
-@@ -994,6 +1098,7 @@ static int fsl_sai_probe(struct platform
+@@ -995,6 +1098,7 @@ static int fsl_sai_probe(struct platform
        char tmp[8];
        int irq, ret, i;
        int index;
@@ -226,7 +218,7 @@ Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
        struct regmap_config fsl_sai_regmap_config = fsl_sai_v2_regmap_config;
        unsigned long irqflags = 0;
  
-@@ -1048,6 +1153,9 @@ static int fsl_sai_probe(struct platform
+@@ -1049,6 +1153,9 @@ static int fsl_sai_probe(struct platform
                }
        }
  
@@ -236,7 +228,7 @@ Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
        /*dataline mask for rx and tx*/
        ret = of_property_read_u32_index(np, "fsl,dataline", 0, &sai->dataline[0]);
        if (ret)
-@@ -1062,6 +1170,37 @@ static int fsl_sai_probe(struct platform
+@@ -1063,6 +1170,37 @@ static int fsl_sai_probe(struct platform
                return -EINVAL;
        }
  
@@ -274,7 +266,7 @@ Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
        if ((of_find_property(np, "fsl,i2s-xtor", NULL) != NULL) ||
            (of_find_property(np, "fsl,txm-rxs", NULL) != NULL))
        {
-@@ -1144,6 +1283,11 @@ static int fsl_sai_probe(struct platform
+@@ -1145,6 +1283,11 @@ static int fsl_sai_probe(struct platform
        sai->dma_params_rx.maxburst = FSL_SAI_MAXBURST_RX;
        sai->dma_params_tx.maxburst = FSL_SAI_MAXBURST_TX;
  
index 3bccbbd13864c42583d79893dbbb8651225508d1..70f449dd75ba7110199c4681e82e6cf2b1f46b8e 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
 
 --- a/drivers/gpu/drm/drm_fourcc.c
 +++ b/drivers/gpu/drm/drm_fourcc.c
-@@ -261,6 +261,9 @@ const struct drm_format_info *__drm_form
+@@ -265,6 +265,9 @@ const struct drm_format_info *__drm_form
                { .format = DRM_FORMAT_P016,            .depth = 0,  .num_planes = 2,
                  .char_per_block = { 2, 4, 0 }, .block_w = { 1, 0, 0 }, .block_h = { 1, 0, 0 },
                  .hsub = 2, .vsub = 2, .is_yuv = true},
index 120a14c3be3ea2fffe3f777cab76d0074bd9c47d..9050a4df756be4c261d5bb781f8b202b5195287e 100644 (file)
@@ -27,7 +27,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
  #include <linux/serial_core.h>
  #include <linux/slab.h>
  #include <linux/tty_flip.h>
-@@ -2394,6 +2396,54 @@ static struct uart_driver lpuart_reg = {
+@@ -2420,6 +2422,54 @@ static struct uart_driver lpuart_reg = {
        .cons           = LPUART_CONSOLE,
  };
  
@@ -82,7 +82,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
  static int lpuart_probe(struct platform_device *pdev)
  {
        const struct of_device_id *of_id = of_match_device(lpuart_dt_ids,
-@@ -2431,6 +2481,10 @@ static int lpuart_probe(struct platform_
+@@ -2457,6 +2507,10 @@ static int lpuart_probe(struct platform_
  
        sport->port.rs485_config = lpuart_config_rs485;
  
index 7d6efc38c527fd328bdb321e62d4ac857a5725da..9427ed667ce8435417d80752c95ecfaa6464c64a 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
  #include <linux/serial_core.h>
  #include <linux/slab.h>
  #include <linux/tty_flip.h>
-@@ -1552,8 +1553,17 @@ static void lpuart32_configure(struct lp
+@@ -1572,8 +1573,17 @@ static void lpuart32_configure(struct lp
  static int lpuart32_startup(struct uart_port *port)
  {
        struct lpuart_port *sport = container_of(port, struct lpuart_port, port);
index 82438c85918221319a09c57a34ca96387cb8073b..23c99d19cf67bb89f9e58db94b5553b9def6b94b 100644 (file)
@@ -351,7 +351,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
  }
  
  static void lpuart_dma_rx_free(struct uart_port *port)
-@@ -1413,8 +1525,10 @@ static void lpuart_setup_watermark(struc
+@@ -1433,8 +1545,10 @@ static void lpuart_setup_watermark(struc
                writeb(UARTSFIFO_RXUF, sport->port.membase + UARTSFIFO);
        }
  
@@ -363,7 +363,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
  
        /* Restore cr2 */
        writeb(cr2_saved, sport->port.membase + UARTCR2);
-@@ -1435,6 +1549,7 @@ static void lpuart32_setup_watermark(str
+@@ -1455,6 +1569,7 @@ static void lpuart32_setup_watermark(str
  {
        unsigned long val, ctrl;
        unsigned long ctrl_saved;
@@ -371,7 +371,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
  
        ctrl = lpuart32_read(&sport->port, UARTCTRL);
        ctrl_saved = ctrl;
-@@ -1446,12 +1561,26 @@ static void lpuart32_setup_watermark(str
+@@ -1466,12 +1581,26 @@ static void lpuart32_setup_watermark(str
        val = lpuart32_read(&sport->port, UARTFIFO);
        val |= UARTFIFO_TXFE | UARTFIFO_RXFE;
        val |= UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH;
@@ -399,7 +399,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
        /* Restore cr2 */
        lpuart32_write(&sport->port, ctrl_saved, UARTCTRL);
  }
-@@ -1463,17 +1592,29 @@ static void lpuart32_setup_watermark_ena
+@@ -1483,17 +1612,29 @@ static void lpuart32_setup_watermark_ena
        lpuart32_setup_watermark(sport);
  
        temp = lpuart32_read(&sport->port, UARTCTRL);
@@ -430,7 +430,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
  static void lpuart_tx_dma_startup(struct lpuart_port *sport)
  {
        u32 uartbaud;
-@@ -1537,19 +1678,23 @@ static int lpuart_startup(struct uart_po
+@@ -1557,19 +1698,23 @@ static int lpuart_startup(struct uart_po
        return 0;
  }
  
@@ -461,7 +461,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
        if (!sport->lpuart_dma_tx_use)
                temp |= UARTCTRL_TIE;
        lpuart32_write(&sport->port, temp, UARTCTRL);
-@@ -1593,12 +1738,12 @@ static int lpuart32_startup(struct uart_
+@@ -1613,12 +1758,12 @@ static int lpuart32_startup(struct uart_
  
        spin_lock_irqsave(&sport->port.lock, flags);
  
@@ -476,7 +476,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
        lpuart32_configure(sport);
  
        spin_unlock_irqrestore(&sport->port.lock, flags);
-@@ -1608,7 +1753,7 @@ static int lpuart32_startup(struct uart_
+@@ -1628,7 +1773,7 @@ static int lpuart32_startup(struct uart_
  static void lpuart_dma_shutdown(struct lpuart_port *sport)
  {
        if (sport->lpuart_dma_rx_use) {
@@ -485,7 +485,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
                lpuart_dma_rx_free(&sport->port);
                sport->lpuart_dma_rx_use = false;
        }
-@@ -1651,11 +1796,22 @@ static void lpuart32_shutdown(struct uar
+@@ -1671,11 +1816,22 @@ static void lpuart32_shutdown(struct uar
  
        spin_lock_irqsave(&port->lock, flags);
  
@@ -510,7 +510,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
  
        spin_unlock_irqrestore(&port->lock, flags);
  
-@@ -1752,10 +1908,10 @@ lpuart_set_termios(struct uart_port *por
+@@ -1772,10 +1928,10 @@ lpuart_set_termios(struct uart_port *por
         * baud rate and restart Rx DMA path.
         *
         * Since timer function acqures sport->port.lock, need to stop before
@@ -523,7 +523,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
                lpuart_dma_rx_free(&sport->port);
        }
  
-@@ -1967,10 +2123,10 @@ lpuart32_set_termios(struct uart_port *p
+@@ -1987,10 +2143,10 @@ lpuart32_set_termios(struct uart_port *p
         * baud rate and restart Rx DMA path.
         *
         * Since timer function acqures sport->port.lock, need to stop before
@@ -536,7 +536,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
                lpuart_dma_rx_free(&sport->port);
        }
  
-@@ -2483,6 +2639,10 @@ static int lpuart_probe(struct platform_
+@@ -2509,6 +2665,10 @@ static int lpuart_probe(struct platform_
        sport->port.dev = &pdev->dev;
        sport->port.type = PORT_LPUART;
        sport->devtype = sdata->devtype;
@@ -547,7 +547,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
        ret = platform_get_irq(pdev, 0);
        if (ret < 0)
                return ret;
-@@ -2633,7 +2793,7 @@ static int lpuart_suspend(struct device
+@@ -2659,7 +2819,7 @@ static int lpuart_suspend(struct device
                 * Rx DMA path before suspend and start Rx DMA path on resume.
                 */
                if (irq_wake) {
index 73d80925c775e87d0737663b366020ad7dbb3370..3849ac22251ddcd792b08de70f853f10ea0f7e92 100644 (file)
@@ -105,7 +105,7 @@ Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
  static void lpuart_stop_tx(struct uart_port *port)
  {
        unsigned char temp;
-@@ -2726,6 +2768,10 @@ static int lpuart_probe(struct platform_
+@@ -2752,6 +2794,10 @@ static int lpuart_probe(struct platform_
        if (ret)
                goto failed_attach_port;
  
@@ -116,7 +116,7 @@ Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
        uart_get_rs485_mode(&pdev->dev, &sport->port.rs485);
  
        if (sport->port.rs485.flags & SER_RS485_RX_DURING_TX)
-@@ -2749,6 +2795,8 @@ static int lpuart_probe(struct platform_
+@@ -2775,6 +2821,8 @@ static int lpuart_probe(struct platform_
  
        return 0;
  
index afc5d3207b9cc52e4790b05c34f568353823655b..201e79268111a1ab471068464c63ebae0c5b16ed 100644 (file)
@@ -43,7 +43,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
  /* return TIOCSER_TEMT when transmitter is not busy */
  static unsigned int lpuart_tx_empty(struct uart_port *port)
  {
-@@ -2283,6 +2298,7 @@ static const struct uart_ops lpuart_pops
+@@ -2309,6 +2324,7 @@ static const struct uart_ops lpuart_pops
        .break_ctl      = lpuart_break_ctl,
        .startup        = lpuart_startup,
        .shutdown       = lpuart_shutdown,
@@ -51,7 +51,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
        .set_termios    = lpuart_set_termios,
        .type           = lpuart_type,
        .request_port   = lpuart_request_port,
-@@ -2307,6 +2323,7 @@ static const struct uart_ops lpuart32_po
+@@ -2333,6 +2349,7 @@ static const struct uart_ops lpuart32_po
        .break_ctl      = lpuart32_break_ctl,
        .startup        = lpuart32_startup,
        .shutdown       = lpuart32_shutdown,
@@ -59,7 +59,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
        .set_termios    = lpuart32_set_termios,
        .type           = lpuart_type,
        .request_port   = lpuart_request_port,
-@@ -2764,6 +2781,11 @@ static int lpuart_probe(struct platform_
+@@ -2790,6 +2807,11 @@ static int lpuart_probe(struct platform_
        if (ret)
                goto failed_irq_request;
  
@@ -71,7 +71,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
        ret = uart_add_one_port(&lpuart_reg, &sport->port);
        if (ret)
                goto failed_attach_port;
-@@ -2798,6 +2820,9 @@ static int lpuart_probe(struct platform_
+@@ -2824,6 +2846,9 @@ static int lpuart_probe(struct platform_
  failed_reset:
        uart_remove_one_port(&lpuart_reg, &sport->port);
  failed_attach_port:
@@ -81,7 +81,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
  failed_irq_request:
        lpuart_disable_clks(sport);
        return ret;
-@@ -2817,15 +2842,41 @@ static int lpuart_remove(struct platform
+@@ -2843,15 +2868,41 @@ static int lpuart_remove(struct platform
        if (sport->dma_rx_chan)
                dma_release_channel(sport->dma_rx_chan);
  
@@ -123,7 +123,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
  
        if (lpuart_is_32(sport)) {
                /* disable Rx/Tx and interrupts */
-@@ -2839,10 +2890,14 @@ static int lpuart_suspend(struct device
+@@ -2865,10 +2916,14 @@ static int lpuart_suspend(struct device
                writeb(temp, sport->port.membase + UARTCR2);
        }
  
@@ -138,7 +138,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
  
        if (sport->lpuart_dma_rx_use) {
                /*
-@@ -2873,9 +2928,6 @@ static int lpuart_suspend(struct device
+@@ -2899,9 +2954,6 @@ static int lpuart_suspend(struct device
                dmaengine_terminate_all(sport->dma_tx_chan);
        }
  
@@ -148,7 +148,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
        return 0;
  }
  
-@@ -2883,9 +2935,11 @@ static int lpuart_resume(struct device *
+@@ -2909,9 +2961,11 @@ static int lpuart_resume(struct device *
  {
        struct lpuart_port *sport = dev_get_drvdata(dev);
        bool irq_wake = irqd_is_wakeup_set(irq_get_irq_data(sport->port.irq));
@@ -162,7 +162,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
  
        if (lpuart_is_32(sport))
                lpuart32_setup_watermark_enable(sport);
-@@ -2906,13 +2960,23 @@ static int lpuart_resume(struct device *
+@@ -2932,13 +2986,23 @@ static int lpuart_resume(struct device *
        if (lpuart_is_32(sport))
                lpuart32_configure(sport);
  
@@ -188,7 +188,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
  
  static struct platform_driver lpuart_driver = {
        .probe          = lpuart_probe,
-@@ -2920,7 +2984,7 @@ static struct platform_driver lpuart_dri
+@@ -2946,7 +3010,7 @@ static struct platform_driver lpuart_dri
        .driver         = {
                .name   = "fsl-lpuart",
                .of_match_table = lpuart_dt_ids,
index 5a9304ce130d70bba8aa0b0ef3406bb58feffb9c..be1a5675a67f021c2e120103e7b01a7e3f35ae31 100644 (file)
@@ -28,7 +28,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
  #include <linux/pm_domain.h>
  #include <linux/pm_runtime.h>
  #include <linux/reset.h>
-@@ -1719,10 +1720,23 @@ static void lpuart_rx_dma_startup(struct
+@@ -1739,10 +1740,23 @@ static void lpuart_rx_dma_startup(struct
        }
  }
  
@@ -53,7 +53,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
        unsigned char temp;
  
        /* determine FIFO size and enable FIFO mode */
-@@ -1735,14 +1749,7 @@ static int lpuart_startup(struct uart_po
+@@ -1755,14 +1769,7 @@ static int lpuart_startup(struct uart_po
        sport->rxfifo_size = UARTFIFO_DEPTH((temp >> UARTPFIFO_RXSIZE_OFF) &
                                            UARTPFIFO_FIFOSIZE_MASK);
  
@@ -69,7 +69,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
  
        return 0;
  }
-@@ -1769,11 +1776,27 @@ static void lpuart32_configure(struct lp
+@@ -1789,11 +1796,27 @@ static void lpuart32_configure(struct lp
        lpuart32_write(&sport->port, temp, UARTCTRL);
  }
  
@@ -98,7 +98,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
        unsigned long temp;
        int ret;
  
-@@ -1805,17 +1828,8 @@ static int lpuart32_startup(struct uart_
+@@ -1825,17 +1848,8 @@ static int lpuart32_startup(struct uart_
                sport->port.fifosize = sport->txfifo_size;
        }
  
@@ -108,16 +108,16 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
 -
 -      lpuart_rx_dma_startup(sport);
 -      lpuart_tx_dma_startup(sport);
--
--      lpuart32_setup_watermark_enable(sport);
--      lpuart32_configure(sport);
 +      lpuart32_hw_setup(sport);
  
+-      lpuart32_setup_watermark_enable(sport);
+-      lpuart32_configure(sport);
+-
 -      spin_unlock_irqrestore(&sport->port.lock, flags);
        return 0;
  }
  
-@@ -2867,108 +2881,205 @@ static int lpuart_runtime_resume(struct
+@@ -2893,108 +2907,205 @@ static int lpuart_runtime_resume(struct
        return lpuart_enable_clks(sport);
  };
  
@@ -197,8 +197,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
 -              }
 +      return false;
 +}
--              /* Disable Rx DMA to use UART port as wakeup source */
++
 +static int lpuart_suspend_noirq(struct device *dev)
 +{
 +      struct lpuart_port *sport = dev_get_drvdata(dev);
@@ -208,7 +207,8 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
 +              serial_lpuart_enable_wakeup(sport, !!irq_wake);
 +
 +      pinctrl_pm_select_sleep_state(dev);
-+
+-              /* Disable Rx DMA to use UART port as wakeup source */
 +      return 0;
 +}
 +
@@ -302,7 +302,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
 +                                     ~UARTCR5_RDMAS, sport->port.membase + UARTCR5);
 +                      }
 +                      spin_unlock_irqrestore(&sport->port.lock, flags);
-+              }
+               }
 +
 +              if (sport->lpuart_dma_tx_use) {
 +                      spin_lock_irqsave(&sport->port.lock, flags);
@@ -318,7 +318,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
 +                      spin_unlock_irqrestore(&sport->port.lock, flags);
 +                      sport->dma_tx_in_progress = false;
 +                      dmaengine_terminate_all(sport->dma_tx_chan);
-               }
++              }
 +      } else if (pm_runtime_active(sport->port.dev)) {
 +              lpuart_disable_clks(sport);
 +              pm_runtime_disable(sport->port.dev);
index 76a397a4a249fb3fc3ba940620478930fd3caa9e..b32f946b01370f82700734d7b101d87f3cf55757 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
 
 --- a/drivers/tty/serial/fsl_lpuart.c
 +++ b/drivers/tty/serial/fsl_lpuart.c
-@@ -2134,11 +2134,12 @@ lpuart32_set_termios(struct uart_port *p
+@@ -2154,11 +2154,12 @@ lpuart32_set_termios(struct uart_port *p
  {
        struct lpuart_port *sport = container_of(port, struct lpuart_port, port);
        unsigned long flags;
@@ -28,7 +28,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
        modem = lpuart32_read(&sport->port, UARTMODIR);
        /*
         * only support CS8 and CS7, and for CS7 must enable PE.
-@@ -2175,7 +2176,9 @@ lpuart32_set_termios(struct uart_port *p
+@@ -2195,7 +2196,9 @@ lpuart32_set_termios(struct uart_port *p
        }
  
        if (termios->c_cflag & CSTOPB)
@@ -39,7 +39,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
  
        /* parity must be enabled when CS7 to match 8-bits format */
        if ((termios->c_cflag & CSIZE) == CS7)
-@@ -2246,6 +2249,7 @@ lpuart32_set_termios(struct uart_port *p
+@@ -2272,6 +2275,7 @@ lpuart32_set_termios(struct uart_port *p
        lpuart32_write(&sport->port, old_ctrl & ~(UARTCTRL_TE | UARTCTRL_RE),
                       UARTCTRL);
  
index 522d7023cad962dc7e5de7a855b804e5b85c1a30..cac8eb8d7fad1283e515338d4b4e32cf0d7d6ceb 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Peng Fan <peng.fan@nxp.com>
 
 --- a/drivers/tty/serial/fsl_lpuart.c
 +++ b/drivers/tty/serial/fsl_lpuart.c
-@@ -2617,7 +2617,9 @@ static int __init lpuart32_early_console
+@@ -2643,7 +2643,9 @@ static int __init lpuart32_early_console
        if (!device->port.membase)
                return -ENODEV;
  
index b287780d6c1972f119d20d9adb8a33f231df1c2d..9f37e3d82b92f2ddef928d5b16d256ce3ca6fee8 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
 +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
-@@ -554,6 +554,19 @@
+@@ -555,6 +555,19 @@
                status = "disabled";
        };
  
index 84aed89752e1393bcdc7761f164274ab51149fd2..f6e437b80d39564f9d8e9a331d0de173e9c65e4a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
 +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
-@@ -716,6 +716,17 @@
+@@ -717,6 +717,17 @@
                status = "disabled";
        };
  
index 3c5558b60643fab4b8f0137ed6e697fef41296c0..4fe0e0f5a0426c857fa0953111c2c88f1ba1e80d 100644 (file)
@@ -281,7 +281,7 @@ Signed-off-by: chuanjia.liu <Chuanjia.Liu@mediatek.com>
  &pio {
 --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
 +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
-@@ -794,45 +794,41 @@
+@@ -795,45 +795,41 @@
                #reset-cells = <1>;
        };
  
@@ -344,7 +344,7 @@ Signed-off-by: chuanjia.liu <Chuanjia.Liu@mediatek.com>
                        interrupt-map-mask = <0 0 0 7>;
                        interrupt-map = <0 0 0 1 &pcie_intc0 0>,
                                        <0 0 0 2 &pcie_intc0 1>,
-@@ -844,15 +840,39 @@
+@@ -845,15 +841,39 @@
                                #interrupt-cells = <1>;
                        };
                };
index a60a607d8bba65013a16de1f3258418eb28ee1ee..96da4a063e8d55939822aa100ba92d5dddb789d5 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                        interface-type = "ace";
                        reg = <0x5000 0x1000>;
                };
-@@ -969,6 +969,8 @@
+@@ -970,6 +970,8 @@
                power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>;
                mediatek,ethsys = <&ethsys>;
                mediatek,sgmiisys = <&sgmiisys>;
index 20a67676e3bd3892aaafba442fce6be9baf12042..3754ad466746cfed3ad0a0471a8fec329b87ed3c 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
 +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
-@@ -805,6 +805,8 @@
+@@ -806,6 +806,8 @@
                reg = <0 0x1a143000 0 0x1000>;
                reg-names = "port0";
                mediatek,pcie-cfg = <&pciecfg>;
@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                #address-cells = <3>;
                #size-cells = <2>;
                interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_LOW>;
-@@ -822,6 +824,7 @@
+@@ -823,6 +825,7 @@
                bus-range = <0x00 0xff>;
                ranges = <0x82000000 0 0x20000000  0x0 0x20000000  0 0x8000000>;
                status = "disabled";
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
                slot0: pcie@0,0 {
                        reg = <0x0000 0 0 0 0>;
-@@ -848,6 +851,8 @@
+@@ -849,6 +852,8 @@
                reg = <0 0x1a145000 0 0x1000>;
                reg-names = "port1";
                mediatek,pcie-cfg = <&pciecfg>;
@@ -36,7 +36,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                #address-cells = <3>;
                #size-cells = <2>;
                interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_LOW>;
-@@ -866,6 +871,7 @@
+@@ -867,6 +872,7 @@
                bus-range = <0x00 0xff>;
                ranges = <0x82000000 0 0x28000000  0x0 0x28000000  0 0x8000000>;
                status = "disabled";
@@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
                slot1: pcie@1,0 {
                        reg = <0x0800 0 0 0 0>;
-@@ -925,6 +931,11 @@
+@@ -926,6 +932,11 @@
                };
        };
  
index 9639a45c93443704942774041937341189390639..3621e37b78f8fbec28ce8f5d9610d9e8aa2561c6 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com>
  #include <linux/platform_data/x86/apple.h>
  #include <linux/pm_runtime.h>
  #include <linux/suspend.h>
-@@ -5796,3 +5797,34 @@ static void nvidia_ion_ahci_fixup(struct
+@@ -5819,3 +5820,34 @@ static void nvidia_ion_ahci_fixup(struct
        pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING;
  }
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup);
index a6c9127601adbc4cec30afa2fad56ab08ac7ccd3..a7a16e7144c61a372f85756032fd3a93689c237f 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 
 --- a/drivers/media/usb/uvc/uvc_driver.c
 +++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -2911,6 +2911,18 @@ static const struct usb_device_id uvc_id
+@@ -2919,6 +2919,18 @@ static const struct usb_device_id uvc_id
          .bInterfaceSubClass   = 1,
          .bInterfaceProtocol   = 0,
          .driver_info          = UVC_INFO_META(V4L2_META_FMT_D4XX) },
@@ -34,7 +34,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_15) },
 --- a/drivers/media/usb/uvc/uvc_status.c
 +++ b/drivers/media/usb/uvc/uvc_status.c
-@@ -223,6 +223,7 @@ static void uvc_status_complete(struct u
+@@ -225,6 +225,7 @@ static void uvc_status_complete(struct u
                        if (uvc_event_control(urb, status, len))
                                /* The URB will be resubmitted in work context. */
                                return;
@@ -42,7 +42,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                        break;
                }
  
-@@ -271,6 +272,7 @@ int uvc_status_init(struct uvc_device *d
+@@ -273,6 +274,7 @@ int uvc_status_init(struct uvc_device *d
        }
  
        pipe = usb_rcvintpipe(dev->udev, ep->desc.bEndpointAddress);
@@ -214,7 +214,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        /* Mark the buffer as done if the EOF marker is set. */
        if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
                uvc_trace(UVC_TRACE_FRAME, "Frame complete (EOF found).\n");
-@@ -1747,6 +1892,8 @@ static int uvc_init_video_isoc(struct uv
+@@ -1749,6 +1894,8 @@ static int uvc_init_video_isoc(struct uv
        if (npackets == 0)
                return -ENOMEM;
  
@@ -225,18 +225,16 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        for_each_uvc_urb(uvc_urb, stream) {
 --- a/drivers/media/usb/uvc/uvcvideo.h
 +++ b/drivers/media/usb/uvc/uvcvideo.h
-@@ -199,7 +199,9 @@
- #define UVC_QUIRK_RESTORE_CTRLS_ON_INIT       0x00000400
+@@ -200,6 +200,8 @@
  #define UVC_QUIRK_FORCE_Y8            0x00000800
  #define UVC_QUIRK_FORCE_BPP           0x00001000
--
-+#define UVC_QUIRK_MOTION              0x00001000
-+#define UVC_QUIRK_SINGLE_ISO          0x00002000
-+ 
+ #define UVC_QUIRK_WAKE_AUTOSUSPEND    0x00002000
++#define UVC_QUIRK_MOTION              0x00004000
++#define UVC_QUIRK_SINGLE_ISO          0x00008000
  /* Format flags */
  #define UVC_FMT_FLAG_COMPRESSED               0x00000001
- #define UVC_FMT_FLAG_STREAM           0x00000002
-@@ -666,6 +668,7 @@ struct uvc_device {
+@@ -668,6 +670,7 @@ struct uvc_device {
        u8 *status;
        struct input_dev *input;
        char input_phys[64];