08 Oct, 2020

1 commit

  • * tag 'v5.4.70': (3051 commits)
    Linux 5.4.70
    netfilter: ctnetlink: add a range check for l3/l4 protonum
    ep_create_wakeup_source(): dentry name can change under you...
    ...

    Conflicts:
    arch/arm/mach-imx/pm-imx6.c
    arch/arm64/boot/dts/freescale/imx8mm-evk.dts
    arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dts
    drivers/crypto/caam/caamalg.c
    drivers/gpu/drm/imx/dw_hdmi-imx.c
    drivers/gpu/drm/imx/imx-ldb.c
    drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
    drivers/mmc/host/sdhci-esdhc-imx.c
    drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
    drivers/net/ethernet/freescale/enetc/enetc.c
    drivers/net/ethernet/freescale/enetc/enetc_pf.c
    drivers/thermal/imx_thermal.c
    drivers/usb/cdns3/ep0.c
    drivers/xen/swiotlb-xen.c
    sound/soc/fsl/fsl_esai.c
    sound/soc/fsl/fsl_sai.c

    Signed-off-by: Jason Liu

    Jason Liu
     

17 Sep, 2020

1 commit

  • [ Upstream commit 89d29997f103d08264b0685796b420d911658b96 ]

    eznps driver is supposed to be platform independent however it ends up
    including stuff from inside arch/arc headers leading to rand config
    build errors.

    The quick hack to fix this (proper fix is too much chrun for non active
    user-base) is to add following to nps platform agnostic header.
    - copy AUX_IENABLE from arch/arc header
    - move CTOP_AUX_IACK from arch/arc/plat-eznps/*/**

    Reported-by: kernel test robot
    Reported-by: Sebastian Andrzej Siewior
    Link: https://lkml.kernel.org/r/20200824095831.5lpkmkafelnvlpi2@linutronix.de
    Signed-off-by: Vineet Gupta
    Signed-off-by: Sasha Levin

    Vineet Gupta
     

09 Apr, 2020

1 commit


14 Mar, 2020

1 commit


26 Feb, 2020

6 commits


02 Dec, 2019

17 commits

  • * qe/next: (6 commits)
    config/qe: add irq-qeic support.
    QE: remove PPCisms for QE
    irqchip/qeic: remove PPCisms for QEIC
    irqchip/qeic: merge qeic_of_init into qe_ic_init
    irqchip/qeic: merge qeic init code from platforms to a common function
    ...

    Dong Aisheng
     
  • * pm/next: (54 commits)
    drivers/soc/fsl: add EPU FSM configuration for deep sleep
    fsl_pmc: update device bindings
    soc: fsl: add RCPM driver
    Documentation: dt: binding: fsl: Add 'little-endian' and update Chassis define
    MLK-22992 firmware: imx: scu-pd: fix wu_num
    ...

    Dong Aisheng
     
  • The reason for doing this is that the 2 mainline Ocelot switches so far,
    VSC7514 and VSC9959, have radically different SoC/SerDes integration. So
    although the PHYLINK callbacks are common, the implementations will
    actually lie in device-specific function pointers.

    Also, there was a duplicated and unused function pointer for pcs_init in
    struct ocelot, remove that.

    Signed-off-by: Vladimir Oltean

    Vladimir Oltean
     
  • This patch reworks ocelot_board.c (aka the MIPS on the VSC7514) to
    register a PHYLINK instance for each port. The registration code is
    local to the VSC7514, but the PHYLINK callback implementation is common
    so that the Felix DSA front-end can use it as well (but DSA does its own
    registration).

    Now Felix can use native PHYLINK callbacks instead of the PHYLIB
    adaptation layer in DSA, which had issues supporting fixed-link slave
    ports (no struct phy_device to pass to the adjust_link callback), as
    well as fixed-link CPU port at 2.5Gbps.

    The old code from ocelot_port_enable and ocelot_port_disable has been
    moved into ocelot_phylink_mac_link_up and ocelot_phylink_mac_link_down.

    The PHY connect operation has been moved from ocelot_port_open to
    mscc_ocelot_probe in ocelot_board.c.

    The phy_set_mode_ext() call for the SerDes PHY has also been moved into
    mscc_ocelot_probe from ocelot_port_open, and since that was the only
    reason why a reference to it was kept in ocelot_port_private, that
    reference was removed.

    Again, the usage of phy_interface_t phy_mode is now local to
    mscc_ocelot_probe only, after moving the PHY connect operation.
    So it was also removed from ocelot_port_private.
    *Maybe* in the future, it can be added back to the common struct
    ocelot_port, with the purpose of validating mismatches between
    state->phy_interface and ocelot_port->phy_mode in PHYLINK callbacks.
    But at the moment that is not critical, since other DSA drivers are not
    doing that either. No SFP+ modules are in use with Felix/Ocelot yet, to
    my knowledge.

    In-band AN is not yet supported, due to the fact that this is a mostly
    mechanical patch for the moment. The mac_an_restart PHYLINK operation
    needs to be implemented, as well as mac_link_state. Both are SerDes
    specific, and Felix does not have its PCS configured yet (it works just
    by virtue of U-Boot initialization at the moment).

    Signed-off-by: Vladimir Oltean

    Vladimir Oltean
     
  • In the LS1028A, the VSC9959 switch was integrated with an NXP PCS which
    performs SGMII AN and rate adaptation autonomously. The MAC does not
    need to know about this, and forcing the MAC speed to something else,
    when connected to a 10/100 link partner, actually breaks the GMII
    internal link between the MAC and the PCS.

    Add a quirk system in the ocelot driver, and a first quirk called "PCS
    performs rate adaptation", to distinguish the VSC7514 from the VSC9959
    regarding this behavior.

    Signed-off-by: Catalin Horghidan
    Signed-off-by: Vladimir Oltean

    Vladimir Oltean
     
  • Support TSN configuration for ocelot switch. The TSN configuration
    fucntions are based on tsn netlink interface, it can support Qbv,
    Qbu, Qci, 802.1CB, and Qav configuration now.

    Signed-off-by: Xiaoliang Yang

    Xiaoliang Yang
     
  • Convert to use skb queue instead of the list of skbs.
    The skb queue could provide protection with lock.

    Signed-off-by: Yangbo Lu
    Signed-off-by: David S. Miller

    Yangbo Lu
     
  • Convert to use ocelot_port_add_txtstamp_skb() for adding skbs which
    require TX timestamp into list. Export it so that DSA Felix driver
    could reuse it too.

    Signed-off-by: Yangbo Lu
    Reviewed-by: Andrew Lunn
    Reviewed-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Yangbo Lu
     
  • The method getting TX timestamp by reading timestamp FIFO and
    matching skbs list is common for DSA Felix driver too.
    So move code out of ocelot_board.c, convert to use
    ocelot_get_txtstamp() function and export it.

    Signed-off-by: Yangbo Lu
    Reviewed-by: Andrew Lunn
    Reviewed-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Yangbo Lu
     
  • Export ocelot_hwstamp_get/set functions so that DSA driver
    is able to reuse them.

    Signed-off-by: Yangbo Lu
    Reviewed-by: Andrew Lunn
    Reviewed-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Yangbo Lu
     
  • The Felix DSA driver needs to write to SYS_RAM_INIT_RAM_INIT for its own
    chip initialization process.

    Also update the MAINTAINERS file such that the headers exported by the
    ocelot driver are under the same maintainers' umbrella as the driver
    itself.

    Signed-off-by: Vladimir Oltean
    Reviewed-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Vladimir Oltean
     
  • We will be registering another switch driver based on ocelot, which
    lives under drivers/net/dsa.

    Make sure the Felix DSA front-end has the necessary abstractions to
    implement a new Ocelot driver instantiation. This includes the function
    prototypes for implementing DSA callbacks.

    Signed-off-by: Vladimir Oltean
    Reviewed-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Vladimir Oltean
     
  • Update of QMAN the interface to enqueue frame. We now support multiple
    enqueue (qbman_swp_enqueue_multiple) and multiple enqueue with
    a table of descriptor (qbman_swp_enqueue_multiple_desc).

    Signed-off-by: Youri Querry

    Youri Querry
     
  • Order preservation is a feature that will be supported
    in dpni, dpseci and dpci devices.
    This is a preliminary patch for the changes to be
    introduced in the corresponding drivers.

    Signed-off-by: Radu Alexe
    Signed-off-by: Horia Geantă

    Horia Geantă
     
  • Add DPIO support for HW assisted order restoration

    Signed-off-by: Roy Pledge

    Roy Pledge
     
  • Add a couple of new APIs to check the probing status of the required
    cpu bound qman and bman portals:
    'int bman_portals_probed()' and 'int qman_portals_probed()'.
    They return the following values.
    * 1 if qman/bman portals were all probed correctly
    * 0 if qman/bman portals were not yet probed
    * -1 if probing of qman/bman portals failed
    Portals are considered successful probed if no error occurred during
    the probing of any of the portals and if enough portals were probed
    to have one available for each cpu.
    The error handling paths were slightly rearranged in order to fit this
    new functionality without being too intrusive.
    Drivers that use qman/bman portal driver services are required to use
    these APIs before calling any functions exported by these drivers or
    otherwise they will crash the kernel.
    First user will be the dpaa1 ethernet driver, coming in a subsequent
    patch.

    Signed-off-by: Laurentiu Tudor

    Laurentiu Tudor
     
  • * clock/next: (122 commits)
    LF-279 clk: imx: scu: ignore cpu resources when do owned check
    clk: s32v234: Enable FlexCAN clock
    clk: s32v234: Add definitions for CAN clocks
    clk: imx: Add missing mipi1_dsi_phy_clk
    LF-202-3 clk: imx: scu: ignore clks not owned
    ...

    Dong Aisheng
     

25 Nov, 2019

6 commits

  • drivers/clk/imx/clk-gate2.o: In function `clk_gate2_do_shared_clks':
    /home/b29396/Work/linux/dash-linux-devel/build_v8/../drivers/clk/imx/clk-gate2.c:61: undefined reference to `imx_src_is_m4_enabled'
    drivers/clk/imx/clk-pfd.o: In function `clk_pfd_do_shared_clks':
    /home/b29396/Work/linux/dash-linux-devel/build_v8/../drivers/clk/imx/clk-pfd.c:55: undefined reference to `imx_src_is_m4_enabled'
    /home/b29396/Work/linux/dash-linux-devel/build_v8/../drivers/clk/imx/clk-pfd.c:55: undefined reference to `imx_src_is_m4_enabled'
    drivers/clk/imx/clk-pllv3.o: In function `clk_pllv3_do_shared_clks':
    /home/b29396/Work/linux/dash-linux-devel/build_v8/../drivers/clk/imx/clk-pllv3.c:109: undefined reference to `imx_src_is_m4_enabled'
    /home/b29396/Work/linux/dash-linux-devel/Makefile:1047: recipe for target 'vmlinux' failed
    make[1]: *** [vmlinux] Error 1
    make[1]: Leaving directory '/home/b29396/Work/linux/dash-linux-devel/build_v8'
    Makefile:179: recipe for target 'sub-make' failed
    make: *** [sub-make] Error 2

    Signed-off-by: Dong Aisheng

    Dong Aisheng
     
  • The i.MX8M family is a set of NXP product focus on delivering
    the latest and greatest video and audio experience combining
    state-of-the-art media-specific features with high-performance
    processing while optimized for lowest power consumption.

    i.MX8MQ, i.MX8MM, i.MX8MN, even the furture i.MX8MP are all
    belong to this family. A GPC module is used to manage all the
    PU power domain on/off. But the situation is that the number of
    power domains & the power up sequence has significate difference
    on those SoCs. Even on the same SoC. The power up sequence still
    has big difference. It makes us hard to reuse the GPCv2 driver to
    cover the whole i.MX8M family. Each time a new SoC is supported in
    the mainline kernel, we need to modify the GPCv2 driver to support
    it. We need to add or modify hundred lines of code in worst case.
    It is a bad practice for the driver maintainability.

    This driver add a more generic power domain driver that the actual
    power on/off is done by TF-A code. the abstraction give us the
    possibility that using one driver to cover the whole i.MX8M family
    in kernel side.

    Signed-off-by: Jacky Bai

    Jacky Bai
     
  • Add M4 related APIs for suspend/resume support, and make
    MMDC P1 IPG clock always ON, as it is required during resume
    with FastMix OFF.

    Signed-off-by: Anson Huang
    [ Aisheng: update to CLK HW APIs and add FIXME]
    Signed-off-by: Dong Aisheng

    Anson Huang
     
  • QE was supported on PowerPC, and dependent on PPC,
    Now it is supported on other platforms. so remove PPCisms.

    Signed-off-by: Zhao Qiang

    Zhao Qiang
     
  • QEIC was supported on PowerPC, and dependent on PPC,
    Now it is supported on other platforms, so remove PPCisms.

    Signed-off-by: Zhao Qiang

    Zhao Qiang
     
  • qeic_of_init just get device_node of qeic from dtb and call qe_ic_init,
    pass the device_node to qe_ic_init.
    So merge qeic_of_init into qe_ic_init to get the qeic node in
    qe_ic_init.

    Signed-off-by: Zhao Qiang

    Zhao Qiang
     

19 Sep, 2019

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the big char/misc driver pull request for 5.4-rc1.

    As has been happening in previous releases, more and more individual
    driver subsystem trees are ending up in here. Now if that is good or
    bad I can't tell, but hopefully it makes your life easier as it's more
    of an aggregation of trees together to one merge point for you.

    Anyway, lots of stuff in here:
    - habanalabs driver updates
    - thunderbolt driver updates
    - misc driver updates
    - coresight and intel_th hwtracing driver updates
    - fpga driver updates
    - extcon driver updates
    - some dma driver updates
    - char driver updates
    - android binder driver updates
    - nvmem driver updates
    - phy driver updates
    - parport driver fixes
    - pcmcia driver fix
    - uio driver updates
    - w1 driver updates
    - configfs fixes
    - other assorted driver updates

    All of these have been in linux-next for a long time with no reported
    issues"

    * tag 'char-misc-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (200 commits)
    misc: mic: Use PTR_ERR_OR_ZERO rather than its implementation
    habanalabs: correctly cast variable to __le32
    habanalabs: show correct id in error print
    habanalabs: stop using the acronym KMD
    habanalabs: display card name as sensors header
    habanalabs: add uapi to retrieve aggregate H/W events
    habanalabs: add uapi to retrieve device utilization
    habanalabs: Make the Coresight timestamp perpetual
    habanalabs: explicitly set the queue-id enumerated numbers
    habanalabs: print to kernel log when reset is finished
    habanalabs: replace __le32_to_cpu with le32_to_cpu
    habanalabs: replace __cpu_to_le32/64 with cpu_to_le32/64
    habanalabs: Handle HW_IP_INFO if device disabled or in reset
    habanalabs: Expose devices after initialization is done
    habanalabs: improve security in Debug IOCTL
    habanalabs: use default structure for user input in Debug IOCTL
    habanalabs: Add descriptive name to PSOC app status register
    habanalabs: Add descriptive names to PSOC scratch-pad registers
    habanalabs: create two char devices per ASIC
    habanalabs: change device_setup_cdev() to be more generic
    ...

    Linus Torvalds
     

11 Sep, 2019

1 commit


04 Sep, 2019

1 commit

  • Georgi writes:

    interconnect patches for 5.4

    Here are the interconnect driver updates for the 5.4-rc1 merge window.

    - New feature is the path tagging support that helps with grouping and
    aggregating the bandwidth requests into separate buckets based on a tag.
    - The first user of the path tagging is the Qualcomm sdm845 driver that
    now implements support for wake/sleep sets. This allows consumer drivers
    to express their bandwidth needs for the different CPU power states.
    - New interconnect driver for the qcs404 platforms and a driver that
    communicates bandwidth requests with remote processor over shared memory.
    - Cleanups and fixes.

    Signed-off-by: Georgi Djakov

    * tag 'icc-5.4-rc1' of https://git.linaro.org/people/georgi.djakov/linux:
    drivers: qcom: Add BCM vote macro to header
    interconnect: qcom: remove COMPILE_TEST from CONFIG_INTERCONNECT_QCOM_QCS404
    interconnect: qcom: Add QCS404 interconnect provider driver
    interconnect: qcom: Add interconnect RPM over SMD driver
    dt-bindings: interconnect: Add Qualcomm QCS404 DT bindings
    interconnect: qcom: Add tagging and wake/sleep support for sdm845
    interconnect: Add pre_aggregate() callback
    interconnect: Add support for path tags

    Greg Kroah-Hartman
     

30 Aug, 2019

2 commits

  • Remove the "struct mtk_smi_iommu" to simplify the code since it has only
    one item in it right now.

    Signed-off-by: Yong Wu
    Reviewed-by: Matthias Brugger
    Signed-off-by: Joerg Roedel

    Yong Wu
     
  • The "mediatek,larb-id" has already been parsed in MTK IOMMU driver.
    It's no need to parse it again in SMI driver. Only clean some codes.
    This patch is fit for all the current mt2701, mt2712, mt7623, mt8173
    and mt8183.

    After this patch, the "mediatek,larb-id" only be needed for mt2712
    which have 2 M4Us. In the other SoCs, we can get the larb-id from M4U
    in which the larbs in the "mediatek,larbs" always are ordered.

    Correspondingly, the larb_nr in the "struct mtk_smi_iommu" could also
    be deleted.

    CC: Matthias Brugger
    Signed-off-by: Yong Wu
    Reviewed-by: Evan Green
    Reviewed-by: Matthias Brugger
    Signed-off-by: Joerg Roedel

    Yong Wu
     

28 Aug, 2019

1 commit

  • Pull ARC updates from Vineet Gupta:

    - support for Edge Triggered IRQs in ARC IDU intc

    - other fixes here and there

    * tag 'arc-5.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    arc: prefer __section from compiler_attributes.h
    dt-bindings: IDU-intc: Add support for edge-triggered interrupts
    dt-bindings: IDU-intc: Clean up documentation
    ARCv2: IDU-intc: Add support for edge-triggered interrupts
    ARC: unwind: Mark expected switch fall-throughs
    ARC: [plat-hsdk]: allow to switch between AXI DMAC port configurations
    ARC: fix typo in setup_dma_ops log message
    ARCv2: entry: early return from exception need not clear U & DE bits

    Linus Torvalds
     

27 Aug, 2019

1 commit

  • This adds support for an optional extra interrupt cell to specify edge
    vs level triggered. It is backward compatible with dts files with only
    one cell, and will default to level-triggered in such a case.

    Note that I had to make a change to idu_irq_set_affinity as well, as
    this function was setting the interrupt type to "level" unconditionally,
    since this was the only type supported previously.

    Signed-off-by: Mischa Jonker
    Reviewed-by: Vineet Gupta
    Signed-off-by: Vineet Gupta

    Mischa Jonker